Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 更改AAD B2C中的登录名_Azure_Azure Ad B2c_Identity - Fatal编程技术网

Azure 更改AAD B2C中的登录名

Azure 更改AAD B2C中的登录名,azure,azure-ad-b2c,identity,Azure,Azure Ad B2c,Identity,我试图实现从AAD B2C样本。该策略基本上是有效的,但问题是用户在更改电子邮件后仍然登录 根据我的理解,更改主标识必须立即使所有颁发的令牌/会话无效,并强制用户重新验证。为什么这是安全的,而在示例中没有解决?我怎么做?我可以将请求重定向到B2C注销端点,但还有一个问题: 当用户单击“更改登录名”链接时,将使用指定的redirect_uriquery string参数重定向到策略端点。就我而言,它是https://localhost:44300。问题是,当他完成流量和取消流量时,他会被重定向回我

我试图实现从AAD B2C样本。该策略基本上是有效的,但问题是用户在更改电子邮件后仍然登录

根据我的理解,更改主标识必须立即使所有颁发的令牌/会话无效,并强制用户重新验证。为什么这是安全的,而在示例中没有解决?我怎么做?我可以将请求重定向到B2C注销端点,但还有一个问题:

当用户单击“更改登录名”链接时,将使用指定的
redirect_uri
query string参数重定向到策略端点。就我而言,它是
https://localhost:44300
。问题是,当他完成流量和取消流量时,他会被重定向回我的站点,我无法区分这两种情况,因为请求中似乎没有要检查的内容


那么,如何让用户返回
https://localhost:44300
如果他取消流程(电子邮件未更改),并在完成流程后执行单次注销?

为什么更改用户名会使会话无效?我只能同意更改密码。B2C不了解正在发生的事情(除了密码更改),它只是按照您的要求做。所有旅程结束时都会发出一个令牌,您可以放置一个自断言页面并禁用“继续”按钮,然后使用JavaScript将用户发送到应用程序的注销路径(如果这是您想要的)

在成功执行策略时,您将获得一个具有唯一策略id的令牌

如果出现故障,则会向应用程序发送一个错误。用这个来区分它们


要管理用户取消,请在auth请求中发送一个编码状态参数,该参数将返回“cancel error”(AADB2C error user CANCELED“到您的应用程序,然后注销。用户体验似乎很差,没有任何安全收益。

为什么更改用户名会使会话无效?我只能同意更改密码。B2C不了解发生了什么(密码更改除外)它只是按照你的要求做。所有的旅程最后都会发出一个令牌,你可以放置一个自断言页面并禁用“继续”按钮,然后使用JavaScript将用户发送到应用程序的注销路径(如果这是你想要的)

在成功执行策略时,您将获得一个具有唯一策略id的令牌

如果出现故障,您会收到发送到应用程序的错误。请使用此选项来区分它们


要管理用户取消,请在auth请求中发送一个编码状态参数,该参数将返回“cancel error”(AADB2C error user CANCELED)到您的应用程序,然后注销。看起来用户体验很差,没有安全性提高。

这是一个很好的问题。生成令牌时,它的寿命为设定的时间。例如1小时

使用此令牌时,假定用户可以继续使用,直到令牌过期并发出刷新令牌


当使用刷新令牌时,将发生新的验证并需要重新验证。

这是一个很好的问题。生成令牌时,它的寿命为设定的时间。例如1小时

使用此令牌时,假定用户可以继续使用,直到令牌过期并发出刷新令牌


当使用刷新令牌时,将进行新的验证并需要重新验证。

用户更改其UPN后,我们无法保证他仍然拥有该UPN。因此,到目前为止颁发的所有令牌都不再可信。对外部系统的查找可能会失败或返回另一个人的数据。感谢状态parameter的想法,不知怎的,我错过了!如果您让用户在更改登录带旅程期间验证新电子邮件,您可以也应该验证,我看不出问题。在旅程完成后,用户将获得带有新登录名的令牌。现状。是的,但是带有旧电子邮件的旧令牌仍然有效,不是吗?是的。Forci在一台设备上注销不会改变这一点。事实上,您所能做的任何事情都不会使id/access令牌无效。只有B2C SSO web会话cookie会通过强制注销在本地计算机上被销毁。刷新令牌可能会无效,但在这种情况下,它不会再起多大作用。在用户更改其UPN我们不能保证他仍然拥有该UPN。因此,到目前为止颁发的所有令牌都不再可信。对外部系统的查找可能会失败或返回另一个人的数据。感谢状态参数的想法,我不知何故错过了它!如果您让用户在更改登录期间验证新电子邮件,你可以也应该这样做,我不认为有什么问题。在旅程结束后,用户将获得一个带有新signInName的令牌。现状。是的,但是带有旧电子邮件的旧令牌仍然有效,不是吗?是的。但是,强制在一台设备上注销不会改变这一点。事实上,你所能做的任何事情都不会使id/访问无效kens。只有B2C SSO web会话cookies在本地计算机上通过强制注销而被销毁。刷新令牌可能会失效,但在这种情况下,它不会再起多大作用,人们不会为此更改登录名。