2016-09-28 63 views
1

我们计划从当前基于自定义表单的身份验证转移到Azure Active Directory。在过程中想知道下面是否可能(下面的定制表单认证实现)。如何使用Azure Active Directory实现此目标。Azure Active Directory Saty登录或记住我的选项

当前公司网站具有此功能,会员可以选择选择保持登录状态。选择保持登录状态的用户将获得持续90天的持续cookie。会员在该设备上再次访问会员区时不需要输入他们的用户名和密码。

此外,像我的帐户/维护配置文件等其他网站不提供逗留登录功能,虽然他们都使用相同的凭证存储。但为了方便会员,如果他们已登录到网站并转到我的帐户/维护配置文件应用程序,则其用户名是预填充的。会员仍需要输入密码。

现在,在新范例中,网站和我的帐户/维护配置文件应用程序将使用AAD进行身份验证,我们将如何实现上述功能,即 •有选择地为某些应用程序保留登录功能。此功能是可选功能,对于选择点击此功能的会员,无需在该设备上重新登录90天。 •如果成员已登录到一个资产并且需要登录另一个资产,请预先填入用户标识。

回答

1

Azure AD在用户登录时创建的会话不能真正由用户控制。它具有关于会话长度,持久性等相当静态的规则。稍后,Azure AD租户管理员将能够通过配置来控制这些方面。但这不是真的取决于用户。

就是这样说的,你绝对可以实现你在应用中描述的体验。如果用户希望“保持登录状态”,则必须用自己的UX(而不是Azure AD登录用户)进行请求。我会通过做:

  • 有旁边的登录按钮
  • 编码在state参数的ID连接的授权请求的复选框的值复选框(OWIN - 使用AuthenticationProperties
  • Azure的当AD发回它的id_token响应,解码来自state的复选框值(OWIN - OWIN应该为您负责)
  • 使用该值设置由您的应用程序发出的会话cookie的长度/持久性(OWIN - 检索中的复选框值3210,如下所示:Is it possible to set an ASP.NET Owin security cookie's ExpireTimeSpan on a per-user basis?

对于其他模式,您可以通过将login_hint查询参数的ID连接授权请求预填写页面Azure的AD标志。我让你知道如何跟踪用户的用户名。

+0

感谢提示/想法!稍后将尝试此操作并进行更新。 –