我是OAuth 2.0和IdentityServer3的新手,但对内部工作方式有很好的把握,并且使用各种Flow(隐式等等)有一个正在运行的实现和客户端。
这可能是一个noobie问题,但我设法使用(隐式流)配置一个有效的IdentityServer3实现和工作MVC客户端。
要强制用户访问IdentityServer3登录页面(我已在模板中自定义),客户端必须单击Client中的Login链接,Client中的ActionResult具有[Authorize]属性,该属性重定向用户到IdentityServer登录页面(因为它需要授权)。
这是正确的实施吗?另外,我想将用户重定向到一个单独的Register页面,但是没有在Register操作中添加[Authorize]属性(它将重定向到登录页面FIRST然后用户必须单击“Register Link”我在客户端中通过使用模板定制的,我似乎无法做到这一点。
如何将登录逻辑与注册逻辑分开?
任何帮助都会很棒!
谢谢,
答案 0 :(得分:0)
请勿在注册页面上设置> org = Trello::Member.find('me').organizations.first
> path = "/organizations/#{org.id}/prefs"
> response = org.client.get(path)
> org_prefs = JSON.parse(response.body)
=> {"permissionLevel"=>"public", "orgInviteRestrict"=>[], "externalMembersDisabled"=>false, "associatedDomain"=>nil, "googleAppsVersion"=>1, "boardVisibilityRestrict"=>{"private"=>"org", "org"=>"org", "public"=>"org"}}
> org_prefs['permissionLevel']
=> "public"
-属性。
因为正如您所说的正确,它将首先重定向到登录名。
它需要公开可用。要将“ 注册”链接集成到登录视图中,可以在[Authorize]
中使用以下属性:
Startup.cs [IdentityServer配置的摘录]
IdentityServerOptions
这将在身份服务器的登录页面上的“登录表单”下方添加链接。
请记住,这些链接需要公开(未经授权)