我仔细研究了这篇关于使用OWIN / Katana的OAuth授权服务器的文章:http://www.asp.net/aspnet/overview/owin-and-katana/owin-oauth-20-authorization-server
这篇文章告诉我们如何设置一个基本的Auth服务器,但似乎省略了很多信息和代码 . 我对隐式拨款流程特别感兴趣 . 他们确实提供了登录页面和“权限”页面,但我很困惑:
-
决定经过身份验证的用户是否已授予客户端的代码在哪里?这不能完成"behind the scenes"因为我们从不告诉任何中间件"component"路径"/OAuth/Authorize" .
-
实际将用户重定向回客户端网站的代码在哪里,以及自动生成的access_token和其他值?
-
我怀疑有一个正确的方法来将"construct"的ClaimsIdentity对象(特别是范围声明)传递给/ OAuth / Authorize中的
authentication.SignIn(claimsIdentity)
,这样它就会自动将用户重定向回具有访问权限并刷新令牌的客户端 . -
/ OAuth / Authorize和/ Accounts / Login的MVC操作似乎总是在成功进行身份验证和授权后返回View(),因此永远不会将用户转发回客户端的网站 . 这似乎我必须手动确定何时
return Redirect(Request.QueryString["RedirectUrl"]);
,并找出要传递的加密值 . 这似乎不应该产生确切的响应 .
我忽略了什么?
1 回答
正如@(LittleBobby Tables)所说,你的问题非常广泛 .
根据您提出问题的方式,您实际了解主题,而不是如何理解?
我建议你看一下完整的源代码
http://code.msdn.microsoft.com/OWIN-OAuth-20-Authorization-ba2b8783/file/114932/1/AuthorizationServer.zip
您的答案要么存在,要么引导您朝着正确的方向前进