Oauth 2.0 OAuth自定义提供程序c#

Oauth 2.0 OAuth自定义提供程序c#,oauth-2.0,Oauth 2.0,我需要创建一个我自己的OAUTH提供商,以验证第三方应用程序请求,我不想使用Google、Twitter、LinkedIn、Microsoft提供商。我必须创建自己的提供者来验证请求并向客户端返回访问令牌。但是网络上的所有帮助都与外部提供商(谷歌、LinkedIn、Twitter、Facebook等)有关。有人能帮我创建自己的自定义提供者吗?正如罗兰所说的,如果你通过了规范,它将非常直接 在较高级别上,这是支持AuthCode授权模式所需的操作: 假设: 您的应用程序拥有用户 向每个第三方应用

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

正如罗兰所说的,如果你通过了规范,它将非常直接

在较高级别上,这是支持AuthCode授权模式所需的操作:

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

  • 向每个第三方应用程序发布clientid/机密
  • 在服务器上为创建端点
    • 授权
    • 代币
当客户端到达授权端点时,如下所示:

/token?grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=http://thirdparty.com
/authorize?响应类型=代码和客户端id=&state=xyz和重定向uri=http://thirdparty.com

  • 将客户端重定向到登录页面
  • 验证用户提供的用户名/pwd
  • 如果成功,请使用authCode调用第三方客户端重定向URI
  • 如果失败,请调用第三方客户端重定向URI,并显示错误(预发布)
这里是示例回调
https://thirdparty.com/cb?code=SplxlOBeZQQYbYS6WxSbIA&state=xyz

然后,客户端将使用authcode调用/token URI,如下所示:

/token?grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=http://thirdparty.com
生成一个令牌,将其存储在clientID、UserId中,并使用令牌进行响应。 像下面这样

{
   "access_token":"2YotnFZFEjr1zCsicMWpAA",
   "token_type":"example",
   "expires_in":3600,
   "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA",
   "example_parameter":"example_value"
 }
当第三方访问您的服务/资源时,根据客户端和用户ID验证令牌,并授予或拒绝访问


这只是一个开始,但是可以对scope和其他OAuth2模式进行更多的定制。

我之前研究过这一点,结果证明这是一个坏主意,因为需要注意的安全问题层出不穷,黑客面前的更新层出不穷。最后,大多数人选择了免费的ThinkTecture服务器。它背后的人是这项技术的真正领导者。你读过或的规范了吗?根据我客户的要求,我需要使用OAUTH 2.0来达到同样的目的。基本上,我需要验证第三方用户的身份,如果除了OAUTH还有其他可用的东西,那么我也可以这样做。