IdentityServer3如何使用signin =从MVC客户端应用程序重定向用户

时间:2017-07-13 13:15:25

标签: c# asp.net-mvc identityserver3

我是OAuth 2.0和IdentityServer3的新手,但对内部工作方式有很好的把握,并且使用各种Flow(隐式等等)有一个正在运行的实现和客户端。

这可能是一个noobie问题,但我设法使用(隐式流)配置一个有效的IdentityServer3实现和工作MVC客户端。

要强制用户访问IdentityServer3登录页面(我已在模板中自定义),客户端必须单击Client中的Login链接,Client中的ActionResult具有[Authorize]属性,该属性重定向用户到IdentityServer登录页面(因为它需要授权)。

这是正确的实施吗?另外,我想将用户重定向到一个单独的Register页面,但是没有在Register操作中添加[Authorize]属性(它将重定向到登录页面FIRST然后用户必须单击“Register Link”我在客户端中通过使用模板定制的,我似乎无法做到这一点。

如何将登录逻辑与注册逻辑分开?

任何帮助都会很棒!

谢谢,

1 个答案:

答案 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

这将在身份服务器的登录页面上的“登录表单”下方添加链接。

请记住,这些链接需要公开(未经授权)