使用C#实现OAuth承载令牌

时间:2013-06-27 20:09:29

标签: c# oauth-2.0

我对OAuth很新。我的要求是托管基于Rest的服务URL,只能通过提供持票令牌来访问。此外,我不希望用户通过任何登录页面,只需传递Bearer令牌并开始使用资源Url。

  1. 如何生成我可以分发给客户端的承载令牌,以便他们可以使用Authorization标头发出Http请求 - >授权:持票人。我可以简单地煮一个随机字符集并将其分发给客户端吗?
  2. 如果提供了承载令牌并且客户端正在设置header属性,我将如何在服务器端代码中处理它...就像我如何授权一样。我是否必须编写代码(我认为不是,但同时又不确定该怎么做..我如何授权客户端)
if (bearertoken != null) {
    if(bearertoken == "abc") {
        //do the operation and return http status code 200
    }
    else {
        //return failure 
    }
}

Plz帮助!!!

谢谢, 中号

1 个答案:

答案 0 :(得分:2)

鉴于有大量的开源和商业OIDC / OAuth软件包,你不应该真正尝试推出自己的解决方案。我一直在使用Identity Server 3(https://github.com/IdentityServer/IdentityServer3),它是开源的,相对容易设置,受到活跃社区的支持,并附带大量样本,您可以使用它们来加快速度OIDC / OAuth的。如果您在.NET Core世界中,则存在Identity Server 4(https://github.com/IdentityServer/IdentityServer4)。