用户授予客户端后OWIN中间件重定向的内容?

时间:2014-03-10 19:05:45

标签: authentication oauth owin

我仔细研究了这篇关于使用OWIN / Katana的OAuth授权服务器的文章:http://www.asp.net/aspnet/overview/owin-and-katana/owin-oauth-20-authorization-server

文章告诉我们如何设置基本的Auth服务器,但似乎省略了很多信息和代码。我对隐式拨款流程特别感兴趣。他们确实提供了登录页面和“权限”页面,但我很困惑:

  1. 决定经过身份验证的用户是否已授予客户端的代码在哪里?这不能在“幕后”完成,因为我们从不告诉任何中间件“组件”路径“/ OAuth / Authorize”。
  2. 实际将用户重定向回客户端网站的代码在哪里,以及自动生成的access_token和其他值?
  3. 我怀疑有一种正确的方法来“构建”ClaimsIdentity对象(特别是范围声明),然后将其传递给/ OAuth / Authorize中的authentication.SignIn(claimsIdentity),以便它自动重定向用户访问和刷新令牌的客户端。
  4. 即使在成功进行身份验证和授权后,/ OAuth / Authorize和/ Accounts / Login的MVC操作似乎总是返回View(),因此永远不会将用户转发回客户端的网站。这似乎我必须手动确定何时到return Redirect(Request.QueryString["RedirectUrl"]);,并找出要传递的加密值。这似乎不应该产生确切的响应。
  5. 我忽略了什么?

1 个答案:

答案 0 :(得分:0)

正如@(LittleBobby Tables)所说,你的问题很广泛。

根据您提出问题的方式,您实际了解的是主题,而不是如何理解?

我建议您查看

的完整源代码

http://code.msdn.microsoft.com/OWIN-OAuth-20-Authorization-ba2b8783/file/114932/1/AuthorizationServer.zip

您的答案要么存在,要么会引导您朝着正确的方向前进