【发布时间】:2014-08-15 04:42:31
【问题描述】:
我正在创建自己的 OAuth 2.0 端点并使用 Apigee 的 OAuth 2.0 策略来生成和管理授权代码和令牌。 当 OAuth 2.0 策略失败时(http://apigee.com/docs/gateway-services/api/oauth-error-code-reference),文档指定了所有可能的错误代码和错误描述,但是它没有说明哪些流变量将包含相应的错误代码和错误描述。 http://apigee.com/docs/api-services/api/oauth-flow-variables 的文档也无济于事......它只是解释了 success 上设置的流变量。
我不想在我的 OAuth 策略中使用 GenerateResponse 标记,因此我需要访问错误代码和错误描述以防 OAuth 策略失败。
当 OAuth 策略失败时设置了哪些变量? 如何知道 OAuth 策略失败?
到目前为止,我知道变量fault.name似乎有错误代码,但错误描述不在error.message变量中。
示例政策:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OAuthV2 async="false" continueOnError="false" enabled="true" name="OAuth-Exchange-Code-with-Token">
<DisplayName>OAuth Exchange Code with Token</DisplayName>
<Operation>GenerateAccessToken</Operation>
<!-- This is in millseconds, so expire in an hour -->
<ExpiresIn>3600000</ExpiresIn>
<ReuseRefreshToken>false</ReuseRefreshToken>
<RefreshTokenExpiresIn>3600000</RefreshTokenExpiresIn>
<SupportedGrantTypes>
<GrantType>authorization_code</GrantType>
</SupportedGrantTypes>
<GenerateResponse enabled="false"/>
</OAuthV2>
如果上述策略失败,由于<GenerateResponse enabled="false"/> 被禁用,我喜欢自己在<FaultRules> 中生成响应并访问实际的错误描述,例如“需要客户端凭据”。但是没有流变量可以访问错误描述。
【问题讨论】: