开发者

Hybrid demo not returning oauth request token

开发者 https://www.devze.com 2023-01-20 09:59 出处:网络
I\'m having a lot of trouble getting started with creating a google apps marketplace application. I\'ve tried numerous demos, including the php hello world example you can download from google. In e

I'm having a lot of trouble getting started with creating a google apps marketplace application.

I've tried numerous demos, including the php hello world example you can download from google. In every case, the openid portion works fine, but oauth is failing.

I've tracked it down to the hybrid openid/oauth request not returning an oauth request token. You can see my verion of the hybrid standard demo from googlecodesamples here http://lookmumimontheinternet.com/staging/hybrid/index.php

You can see that i'm stopping the redirect and outputting the url in a link for debugging. I'm also outputting everything that comes back in the $_REQUEST object.

This is linked up to a market place app with the folowing manifest:

<?xml version="1.0" encoding="UTF-8" ?>
<ApplicationManifest xmlns="http://schemas.google.com/ApplicationManifest/2009">
  <!-- Metadata -->
  <Name>Hello World</Name>
  <Description>A simple application for demonstrating the marketplace</Description>
  <Support>
    <Link rel="support" href="http://www.lookmumimontheinternet.com/staging/hybrid/support.php" />
  </Support>

  <!-- Navigation link -->
  <Extension id="navlink" type="link">
    <Name>Hello World</Name>
    <Url>http://www.lookmumimontheinternet.com/staging/hybrid/index.php?from=google&amp;domain=${DOMAIN_NAME}</Url>
    开发者_JAVA技巧<Scope ref="calendarFeed"/>
  </Extension>

  <!-- Single Sign On with OpenID -->
  <Extension id="realm" type="openIdRealm">
    <Url>http://lookmumimontheinternet.com/staging/hybrid</Url>
  </Extension>

  <!-- Authorized Data access -->
  <Scope id="calendarFeed">
    <Url>https://www.google.com/calendar/feeds/</Url>
    <Reason>This app displays your next upcoming calendar appointment..</Reason>
  </Scope>
</ApplicationManifest>

here is the php configuration of my installation of the demo (I know I shouldn't post the secret but it's only a test app):

$CONSUMER_KEY = '995079586589.apps.googleusercontent.com';
$CONSUMER_SECRET = '6yTp+2Xz7nSqB4Yx6OdSds7n';

$openid_params = array(
  'openid.ns'                => 'http://specs.openid.net/auth/2.0',
  'openid.claimed_id'        => 'http://specs.openid.net/auth/2.0/identifier_select',
  'openid.identity'          => 'http://specs.openid.net/auth/2.0/identifier_select',
  'openid.return_to'         => "http://lookmumimontheinternet.com/staging/hybrid/index.php",
  'openid.realm'             => "http://lookmumimontheinternet.com/staging/hybrid",
  'openid.mode'              => @$_REQUEST['openid_mode'],
  'openid.ns.ui'             => 'http://specs.openid.net/extensions/ui/1.0',
  'openid.ns.ext1'           => 'http://openid.net/srv/ax/1.0',
  'openid.ext1.mode'         => 'fetch_request',
  'openid.ext1.type.email'   => 'http://axschema.org/contact/email',
  'openid.ext1.type.first'   => 'http://axschema.org/namePerson/first',
  'openid.ext1.type.last'    => 'http://axschema.org/namePerson/last',
  'openid.ext1.type.country' => 'http://axschema.org/contact/country/home',
  'openid.ext1.type.lang'    => 'http://axschema.org/pref/language',
  'openid.ext1.required'     => 'email,first,last,country,lang',
  'openid.ns.oauth'          => 'http://specs.openid.net/extensions/oauth/1.0',
  'openid.oauth.consumer'    => $CONSUMER_KEY,
  'openid.oauth.scope'       => implode(' ', $scopes)
);

$openid_ext = array(
  'openid.ns.ext1'           => 'http://openid.net/srv/ax/1.0',
  'openid.ext1.mode'         => 'fetch_request',
  'openid.ext1.type.email'   => 'http://axschema.org/contact/email',
  'openid.ext1.type.first'   => 'http://axschema.org/namePerson/first',
  'openid.ext1.type.last'    => 'http://axschema.org/namePerson/last',
  'openid.ext1.type.country' => 'http://axschema.org/contact/country/home',
  'openid.ext1.type.lang'    => 'http://axschema.org/pref/language',
  'openid.ext1.required'     => 'email,first,last,country,lang',
  'openid.ns.oauth'          => 'http://specs.openid.net/extensions/oauth/1.0',
  'openid.oauth.consumer'    => $CONSUMER_KEY,
  'openid.oauth.scope'       => implode(' ', $scopes),
  'openid.ui.icon'           => 'true'
);

You can see when you run the demo that no oauth token is being returned even though it is being requested (correctly as far as i can see). Can anybody see what i'm doing wrong here?


Ok solved it. Because apps are pre-approved when installed, you don't need to get oauth access. You have it already with your app key.

0

精彩评论

暂无评论...
验证码 换一张
取 消