gpt4 book ai didi

oauth-2.0 - OAuth 自定义提供程序 C#

转载 作者:行者123 更新时间:2023-12-04 11:51:38 26 4
gpt4 key购买 nike

我需要创建一个我自己的 OAUTH 提供程序,以验证第三方应用程序请求,我不想使用 Google、Twitter、LinkedIn、Microsoft 提供程序。我必须创建自己的提供程序来验证请求并将访问 token 返回给客户端。但是网络上的所有帮助都与外部提供商(Google、LinkedIn、Twitter、Facebook ..)有关。任何人都可以帮助我创建自己的自定义提供程序吗?

最佳答案

正如罗兰所说,如果你通过规范,它会非常直接。

在高层次上,这是您需要做的来支持 AuthCode 授权模式:

假设:
您的应用程序拥有用户。

  • 向每个第 3 方应用程序发布 clientid/secrets。
  • 在您的服务器上创建端点
  • 授权
  • token

  • 当客户端到达授权端点时,如下所示:
    /authorize?response_type=code&client_id=<clientID>&state=xyz&redirect_uri=http://thirdparty.com
  • 将客户端重定向到登录页面。
  • 验证用户提供的用户名/密码。
  • 如果成功,请使用 authCode 调用第 3 方客户端重定向 URI。
  • 如果失败,调用第 3 方客户端重定向 URI 并出错(预发布)。

  • 示例回调在这里 https://thirdparty.com/cb?code=SplxlOBeZQQYbYS6WxSbIA&state=xyz
    然后客户端将使用 authcode 调用/token URI,如下所示:
    /token?grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=http://thirdparty.com

    生成一个 token ,将它存储在 clientID、UserId 上,然后用 token 响应。
    像下面这样
    {
    "access_token":"2YotnFZFEjr1zCsicMWpAA",
    "token_type":"example",
    "expires_in":3600,
    "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA",
    "example_parameter":"example_value"
    }

    当第 3 方访问您的服务/资源时,根据客户端和用户 ID 验证 token 并授予或拒绝访问权限。

    这是开始,但您可以使用范围和其他 OAuth2 模式进行更多自定义。

    关于oauth-2.0 - OAuth 自定义提供程序 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25662389/

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