2016-05-20 11 views
2

私はsso sample(travelocity.com)の例を行っています。私は、このコマンドを使用してOAuthアクセストークンを使用してユーザー情報にアクセスしようとしていた場合アクセストークンにはopenidスコープがありません

カール-k -H:私はエラー

follwing取得しています https://localhost:9443/oauth2/userinfo?schema=openid

"認可ベアラはb68ba941c9da3d2644d8a63154d28"

{"error": "insufficient_scope"、 "error_description": "アクセストークンには、にはopenidスコープがありません"}

あなたが認可エンドポイントへの最初の要求を行うと

助けてください、あなたはscopeリクエストパラメータでopenidを含める必要があり、あなた

+0

こんにちは、私も同じ問題に直面しています。あなたはそれをどのように修正したのか分かりますか? –

答えて

1

に感謝します。 OpenID Connect Core 1.0, 3.1.2.1. Authentication Requestは次のように述べています。

範囲

REQUIRED。 OpenID Connectリクエストには、openidのスコープ値が含まれていなければなりません。 openidスコープ値が存在しない場合、動作は完全には指定されていません。他のスコープ値が存在してもよい(MAY)。実装によって理解されないスコープ値は無視すべきである(SHOULD)。この仕様で定義された追加のスコープ値については、セクション5.4と11を参照してください。

0

デフォルトでは、travelocity.com ssoサンプルWebアプリケーションは、そのアクセストークン要求にopenidスコープを送信しません。それがあなたが遭遇したエラーの原因です。サンプルWebアプリで、あなたが次のことを試すことができます旅行試料におけるアクセストークン要求と共にopenidのスコープを送信するために

  1. オープンtravelocity.properties [1]ファイル(あなた
  2. コメント解除)travelocity.com/WEB-INF/classeでそれを見つけると

    QueryP以下のようにファイル[1]にQueryParamsにプロパティを編集することができARAMS =スコープ= OpenIDの

  3. 保存プロパティファイルとWebアプリケーションを再デプロイし、今のUserInfoエンドポイント:)

[1] https://github.com/wso2/product-is/blob/master/modules/samples/sso/sso-agent-sample/src/main/resources/travelocity.properties


に生成されたアクセストークンを試してみてください

更新

QueryParamsのスコープの設定のように見えますが動作していない、 回避方法があります

OAuth2を変更できますか?以下のようにtravelocity.propetiesのTokenURLを試してみてください。私はこれをローカルでテストし、うまくいくはずです。

#のOAuth2トークンエンドポイントURL

OAuth2.TokenURL=https://localhost:9443/oauth2/token?scope=openid 
+1

あなたの言ったように私はtravelocity.propertyを変更しましたが、私はまだ同じエラーが発生しています。ベアラアクセスtokeからuserinfoにアクセスする他の方法があるか教えてください。 – deen

+0

ウェブアプリケーションでそれを変更しましたか、ソースで変更してからwebappをビルドしましたか? – farasath

+0

私はソースコードを変更してから展開しました。 – deen

関連する問題