【问题标题】:How do I verify the bearer token in DotNetOpenAuth如何验证 DotNetOpenAuth 中的不记名令牌
【发布时间】:2013-06-13 13:24:26
【问题描述】:
我正在努力寻找有关如何执行此操作的 DotNetOpenAuth 文档。
我知道客户端发送了不记名令牌,但我如何验证它(除了验证它是否在适当的标头中)。我如何验证它是有效的,或者它没有过期?是否有允许 DotNetOpenAuth 为我执行此操作的钩子?没看到。
谢谢。
【问题讨论】:
标签:
oauth
oauth-2.0
dotnetopenauth
【解决方案1】:
所以,我想通了。希望这将帮助其他发现此问题的人。
部分原因是我对 OAuth 不熟悉。我很好地设置了我的授权服务器,但(起初)没有意识到 ResourceServer 负责验证令牌并验证对所请求资源的访问仍然有效。一旦我意识到这一点,很容易在 DONA 中找到 ResourceServer 类,你可以用两行代码解析 BEARER 令牌:
ResourceServer server = new ResourceServer(new StandardAccessTokenAnalyzer(signingKey, encryptionKey));
AccessToken token = server.GetAccessToken();
返回的令牌将包含它发出的日期和发出它的用户,以及您验证访问权限的任何范围请求。
希望这可以帮助像我这样挣扎的人!