oauth2.0 有 没有 办法 设置 一 个 apigee 来 使用 外部 身份 验证 服务 器 ?

uwopmtnx  于 2022-11-21  发布在  Pig
关注(0)|答案(1)|浏览(223)

有 没有 办法 设置 apigee 使用 外部 身份 验证 服务 器 , 以 更 好 地 说明 这种 情况 :

  • 我们 从 应用 程序 生成 令牌 ( test.app.com/services/oauth2/token )
  • 我们 将 此 令牌 与 请求 一起 发送 到 apigee 端点
  • apigee 应该 调用 ( test.app.com/services/oauth2/introspect ) , 其中 具有 验证 报头 ( 基本 ) 和 包含 令牌 的 主体 以 对其 进行 验证 。

我 在 apigee 方面 是 个 新手 , 在 我 的 搜索 中 还 没有 看到 类似 的 实现 。

a14dhokn

a14dhokn1#

我不确定您是否找到了另一种方法,但我希望您使用服务调出策略来调用身份验证服务器,如下所示:

<ServiceCallout async="false" continueOnError="false" enabled="true" name="SC-GetAuthPass">
<DisplayName>SC-GetAuthPass</DisplayName>
<Properties/>
<Request clearPayload="true" variable="ABCDLogin">
    <Set>
        <Headers>
            <Header name="Content-Type">application/x-www-form-urlencoded</Header>
        </Headers>
        <Verb>POST</Verb>
        <FormParams>
            <FormParam name="username">{server_username}</FormParam>
            <FormParam name="password">{server_password}</FormParam>
        </FormParams>
    </Set>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
</Request>
<Response>calloutResponseGetAuthPass</Response>
<HTTPTargetConnection>
    <Properties/>
    <URL>{authentication_server_url}</URL>
</HTTPTargetConnection>

然后我就可以提取令牌并将其传递给Apigee

<JSONPayload>
    <Variable name="authpass">
        <JSONPath>$.</JSONPath>
    </Variable>
 </JSONPayload>
 <Source clearPayload="false">calloutResponseGetAuthPass</Source>

然后,您可以使用提取的令牌调用验证端点(我假设这是另一个服务标注)

相关问题