了解 OAuth 端点

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

作为 OAuth2 授权服务器,Apigee Edge 需要公开客户端可请求令牌和授权代码的端点。本主题简要介绍这些端点,并说明如何在 Edge 中设置这些端点。

什么是 OAuth2 端点?

OAuth2 端点是一个网址,客户端调用该网址以请求 OAuth 令牌(或授权代码)。以下是访问令牌的示例请求:

$ curl -i -H 'ContentType: x-www-form-urlencoded' \
-X POST 'https://docs-test.apigee.net/oauth/client_credential/accesstoken' \
-d 'grant_type=client_credentials' \
-H 'Authorization: Basic c3FIOG9vSGV4VHo4QzAySVg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ'

在您的 Apigee Edge 环境中,需要有政策来处理此类请求。根据请求可以看出,该政策必须支持“客户端凭据”授权类型,并且该政策必须在路径 /oauth/client_credentials/accesstoken 上执行。

在本例中,正确的政策是 OAuthV2 政策,配置为在如以下示例所示的一个流中执行(其中政策名称为 GenerateAccessTokenClient):

        <Flow name="AccessTokenClientCredential">
            <Description/>
            <Request>
                <Step>
                    <FaultRules/>
                    <Name>GenerateAccessTokenClient</Name>
                </Step>
            </Request>
            <Response/>
            <Condition>(proxy.pathsuffix MatchesPath &quot;/accesstoken&quot;) and (request.verb = &quot;POST&quot;)</Condition>
        </Flow>

如果客户端提供了正确的凭据,则政策会生成并返回一个令牌;否则,将返回错误。

查找默认端点

默认情况下,Apigee 会向其创建的每个新组织添加一个示例 OAuth2 端点代理。如果您进行查找,您将在组织中发现名为 oauth 的代理。

要查找此代理,请执行以下操作:

  1. 访问 API 代理页面,如下所述。

    Edge

    如需使用 Edge 界面访问“API 代理”页面,请执行以下操作:

    1. 登录 apigee.com/edge
    2. 在左侧导航栏中,选择开发 > API 代理
    3. 点击 +代理

    传统 Edge (Private Cloud)

    如需使用传统版 Edge 界面访问“API 代理”页面,请执行以下操作:

    1. 登录 http://ms-ip:9000,其中 ms-ip 是管理服务器节点的 IP 地址或 DNS 名称。
    2. 在顶部导航栏中,依次选择 API > API 代理
  2. 在代理列表中,选择名为 oauth 的代理。
  3. 在代理概览页面中,选择开发标签页以显示代理编辑器,并检查代理中的政策和流程。

最佳做法:创建您自己的 OAuth2 端点代理

默认的 oauth 代理的限制:仅支持客户端凭据授权类型。此代理仅作示例之用。对于生产环境,您需要创建一个配置符合您要求的 OAuth2 端点的代理。

请务必注意,定义 OAuth2 端点的代理通常是无目标代理。代理充当在 ProxyEndpoint 中执行的服务,并直接返回到客户端。

相关主题

请求访问令牌和授权代码