「認証コードの生成」ポリシーのドキュメント ( http://apigee.com/docs/gateway-services/api/oauth-flow-variables ) では、宣言を介してカスタム属性を認証コードに設定できることが示されています。
これらの属性にどのようにアクセスしますか? 私の目標は、ユーザー ID を認証コードに関連付けて、アクセス トークンと交換するときに、ユーザー ID をアクセス トークンのカスタム属性として設定できるようにすることです。次のように GenerateAuthorizationCode ポリシーを構成しています。
<!-- language xml -->
<OAuthV2 enabled="true" continueOnError="false" async="false" name="GenerateAuthorizationCode">
<Operation>GenerateAuthorizationCode</Operation>
<ExpiresIn>120000</ExpiresIn>
<Attributes>
<Attribute name="user_id" ref="request.queryparam.user_id" display="false"/>
</Attributes>
<GenerateResponse/>
</OAuthV2>
/authorization_code?response_type=code&client_id=foo&user_id=bar. これは、コードを生成し、期待される URL へのリダイレクトを返す限り、機能しているようです。
ただし、トークンを作成するときにこの属性にアクセスする方法がわかりません。次のように、トークン エンド ポイントで GetOAuthV2Info ポリシーを構成してみました。
<!-- language xml -->
<GetOAuthV2Info async="false" continueOnError="false" enabled="true" name="GetAuthorizationCodeAttributes">
<AuthorizationCode>request.formparam.code</AuthorizationCode>
</GetOAuthV2Info>
私のコード属性をスコープに入れることを期待して。しかし、これにより Apigee から不可解な 500 レスポンスが発生します: {"fault":{"faultstring":"NullPointerException","detail":{"errorcode":"Internal Server Error"}}}
これはこれを行う正しい方法ですか?最終的な目的は、ユーザー ID を認証コードと関連付け、その認証コードから派生したアクセス トークンを関連付けることです。どんな助けでも大歓迎です。