我很难找到关于如何做到这一点的DotNetOpenAuth的任何文档。
我知道客户端发送了承载令牌,但我如何验证它(除了在相应的头中验证它)。如何验证它是否有效,或者是否已过期?是否有允许DotNetOpenAuth为我这样做的钩子?我没有看到它。
感谢。
答案 0 :(得分:2)
所以,我明白了。希望这会帮助其他人找到这个。
部分原因是我是OAuth的n00b。我设置了我的授权服务器,但没有意识到(首先)ResourceServer负责验证令牌并验证对所请求资源的访问是否仍然有效。一旦我意识到这一点,很容易在DONA中找到ResourceServer类,你可以用两行代码解析BEARER令牌:
ResourceServer server = new ResourceServer(new StandardAccessTokenAnalyzer(signingKey, encryptionKey));
AccessToken token = server.GetAccessToken();
返回的令牌将包含发布的日期及其发布的用户,以及您验证访问权限的任何范围请求。
希望这有助于像我这样挣扎于此的人!