使用C#实现OAuth Bearer令牌

本文关键字:Bearer 令牌 OAuth 实现 使用 | 更新日期: 2023-09-27 18:20:15

我对OAuth很陌生。我的要求是托管一个基于Rest的服务url,它只能通过提供承载令牌来访问。此外,我不希望用户浏览任何登录页面,只需传递Bearer令牌并开始使用资源Url。

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

救命!!!

谢谢,M

使用C#实现OAuth Bearer令牌

鉴于有大量开源和商业OIDC/OAuth包,您不应该真正尝试推出自己的解决方案。我一直在使用Identity Server 3(https://github.com/IdentityServer/IdentityServer3)它是开源的,相对容易设置,有一个活跃的社区很好地支持,并且附带了大量的样本,您可以使用这些样本来了解OIDC/OAuth的最新情况。如果您在.NET核心世界中,则有Identity Server 4(https://github.com/IdentityServer/IdentityServer4)。