grails oauthプラグインを使用しています。私はyahooのaccess_token
を正常に提供しています。しかし問題は - このトークン(yahooから)は1時間の妥当性しか持っていません。それ以降、私たちはそれをリフレッシュする必要があります。彼らの文書を通って、それをリフレッシュするプロセスがあるようです(トークンが期限切れになる場合)。そして、この呼び出しは、頼りになる脚をバイパスします(ユーザーの手動承認プロセス)。それはとても良いです!サインインポストAPIに基づくgrails-oauthプラグインを使用してYahoo Oauthアクセストークンをリフレッシュ
ここで、方法oauthService.fetchAccessToken
を使用しようとしています - これはget_access_token
url(プロバイダ側の)に当たる方法だと思います。しかし、私は例外を取得しています:
oauth.signpost.exception.OAuthNotAuthorizedException:認証 を(サーバが401と答え)が失敗しました。これは、コンシューマ のキーが正しくないか、シグネチャが一致しなかった場合に発生します。 oauth.signpost.AbstractOAuthProvider.handleUnexpectedResponse oauth.signpost.AbstractOAuthProvider.retrieveAccessTokenで oauth.signpost.AbstractOAuthProvider.retrieveToken(AbstractOAuthProvider.java:189)で(AbstractOAuthProvider.java:239) (AbstractOAuthProvider.java:99)で org.grails.plugins.oauth.OauthService $ fetchAccessTokenで : org.grails.plugins.oauth.OauthService.fetchAccessToken(286 OauthService.groovy)でoauth.signpost.OAuthProvider $ retrieveAccessToken.callで (不明 出典) .call(不明な ソース)
さらにプラグインと標識コードをデバッグしました。そして、私は、今のところ標識を調べるべきだと思うが、プラグインは後で簡単に変更できる。あなたの情報については
、私は道標(jarファイル - 1.2.1.1)を使用していますcommonshttp4クライアントと
をここaccessTokenをリフレッシュするためのYahooのドキュメントページのリンクがあります。 http://developer.yahoo.com/oauth/guide/oauth-refreshaccesstoken.html
ヤフーからaccessTokenで送信されたリクエストには、oauth_session_handle
というパラメータが必要です。 Signpostはこれをフェッチする方法を提供しています - provider.getResponseParameters()
。さて次回は、私はrefreshToken要求に戻って、これらのパラメータを置くために、以下の方法を使用しています
- consumer.setAdditionalParameters(httpParams)
しかし、それは動作しません!以下はstacktraceの一部です。私はrefreshedAccessToken
oauth.signpost.exception.OAuthNotAuthorizedExceptionを取得しようとすると:認証 は(サーバは401と答え)が失敗しました。これは、コンシューマ のキーが正しくないか、シグネチャが一致しなかった場合に発生します。 oauth.signpost.AbstractOAuthProvider.handleUnexpectedResponse(AbstractOAuthProvider.java:239) でoauth.signpost.AbstractOAuthProvider.retrieveToken(AbstractOAuthProvider.java:189) でoauth.signpost.AbstractOAuthProvider.retrieveAccessToken(AbstractOAuthProviderました。Javaの:99)
いくつかの素晴らしい/寛大な男からすぐに聞くことを楽しみにして(S):-)は
おかげで、 サリル
ありがとうございます!これは私に多くの時間と頭痛を救った! – Craigo