4

我正在努力寻找有关如何执行此操作的 DotNetOpenAuth 文档。

我知道客户端发送不记名令牌,但我如何验证它(除了验证它是否在适当的标头中)。我如何验证它是有效的,或者它没有过期?是否有允许 DotNetOpenAuth 为我执行此操作的钩子?我没看到。

谢谢。

4

1 回答 1

2

所以,我想通了。希望这会帮助其他发现此问题的人。

部分原因是我成为 OAuth 的 n00b。我很好地设置了我的授权服务器,但(起初)没有意识到 ResourceServer 负责验证令牌并验证对所请求资源的访问仍然有效。一旦我意识到这一点,很容易在 DONA 中找到 ResourceServer 类,您可以使用两行代码解析 BEARER 令牌:

ResourceServer server = new ResourceServer(new StandardAccessTokenAnalyzer(signingKey, encryptionKey));
AccessToken token = server.GetAccessToken();

返回的令牌将包含它发出的日期和发出它的用户,以及您验证访问权限的任何范围请求。

希望这可以帮助像我这样挣扎的人!

于 2013-06-17T20:46:44.770 回答