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