gpt4 book ai didi

asp.net - 如何在非 twitter、facebook 或 microsoft 的 MVC 项目中使用外部 OAuth 授权?

转载 作者:行者123 更新时间:2023-12-02 08:25:00 24 4
gpt4 key购买 nike

我需要更新我的 MVC 流程以允许外部 OAuth 流程,如 this one 等教程中所述。 。然而,我发现的每个教程都使用 facebook/twitter/Microsoft,它们已经内置了函数。我需要使用不同的服务器并传入 token 。我是客户端,而不是服务器。

我的设置使用标准 SPA 项目,需要登录等。我必须将其重定向到带有刷新 token 的页面,并存储该刷新 token 以供将来对 API 的请求。我对此没有问题,我只是无法进行第一个 OAuth 调用。看来,I'm not the only one有这个麻烦。

对于向 OAuth 2.0 提供商发出的此请求,我必须向请求添加访问 token ,然后用户可以登录并单击允许/拒绝。

POST {TokenPath} HTTP/1.1
Host: {AuthorizationServer}
Authorization: Basic {ThirdPartyAuthorizationCode}
Content-Type: application/x-www-form-urlencoded

grant_type = authorization_code

然后我将收到来自 POST 的响应,其中包含 access_token 和到期日期。

那么,我该怎么做呢?

最佳答案

您可以在 Apigee 上使用第三方 OAuth token 。要在 Apigee Edge 中使用来自第三方 OAuth 系统的 token ,您需要执行以下操作:

配置生成 token 的 OAuthV2 策略,并将 元素设置为 true。如果此元素为 false 或不存在,则 Edge 通常会根据 Apigee Edge 授权存储验证 client_id 和 client_secret。 将内部流变量 oauth_external_authorization_status 设置为 true。如果该值为 false(或者该变量不存在),Edge 会认为第三方授权失败并返回错误消息。

通常,此变量根据对第三方授权服务的服务调出设置为 true 或 false。您可以查看服务标注响应并相应地设置变量。有关详细信息,请查看 ServiceCallout 策略。设置此变量的另一种技术是使用带有AssignVariable 元素的AssignMessage 策略,如下所示:

  <AssignMessage name="AssignMessage-SetVariable">
<DisplayName>Assign Message - Set Variable</DisplayName>
<AssignVariable>
<Name>oauth_external_authorization_status</Name>
<Value>true</Value>
</AssignVariable>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>

引用以下链接:

Using third-party OAuth tokens

关于asp.net - 如何在非 twitter、facebook 或 microsoft 的 MVC 项目中使用外部 OAuth 授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37952582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com