Auth0 建议使用错误的 ADFS 连接用户名
Auth0 suggests the wrong username for ADFS connection
我有一个配置为针对 auth0 进行身份验证的 aurelia 应用程序,并且我们的 auth0 租户配置了与我们的 Azure AD 实例的连接(它再次将身份验证请求重定向到我们的 ADFS 服务器)。
我看到的问题是 auth0 似乎记住了错误的连接用户名。
这是我的用户:
"upn": "cyxx@domain.com",
"azure_id": "blabla",
"given_name": "Trond",
"family_name": "Hindenes",
"nickname": "cyxx@domain.com",
"tenantid": "1234",
"email": "Trond.Hindenes@domain.com",
如您所见,upn 和电子邮件并不相同,AzureAD 使用 "upn" 进行登录。一切正常,除了 auth0 "remembers" 我的登录基于我的电子邮件地址,当它将我重定向到 azureAD 时,它会用我的电子邮件地址而不是我的 upn 预填充用户名字段。
所以,我的问题是:在将用户重定向到 AzureAD 进行登录时,是否有任何方法可以强制 auth0(在客户端设置或 javascript 锁定库中)发送正确的属性 (upn)?
目前,当 Lock 显示 "last time you logged with" 消息时,它使用服务器从 getSSOData 端点提供的 lastUsedUsername
字符串作为标识用户的标签。
该标签被指定为 user.email
,如果不可用,则为 user.name
,并且无法更改。我知道你对此没有意见,但要明确一点,你不能改变它(你可以通过将 rememberLastLogin Lock option 设置为 false
来完全删除消息)。
现在,如果您希望更改发送到 Azure AD 的值,您可以在选项中使用 auth.params.login_hint
。您可以放置一个空字符串(以防止 Auth0 向 Azure AD 发送任何提示)或放置您想要的任何值(例如用户的 upn
):
var options = {
auth: {
params: {
login_hint: '' // or anything you want
}
}
}
var lock = new Auth0Lock(..., ..., options);
问题是,到目前为止,确实没有从用户配置文件中获取 upn
值的好方法。但是,如果你输入一个空字符串,Azure AD 将显示它自己的上次使用凭据列表,这对你的用户来说可能已经足够了。
我有一个配置为针对 auth0 进行身份验证的 aurelia 应用程序,并且我们的 auth0 租户配置了与我们的 Azure AD 实例的连接(它再次将身份验证请求重定向到我们的 ADFS 服务器)。
我看到的问题是 auth0 似乎记住了错误的连接用户名。
这是我的用户:
"upn": "cyxx@domain.com",
"azure_id": "blabla",
"given_name": "Trond",
"family_name": "Hindenes",
"nickname": "cyxx@domain.com",
"tenantid": "1234",
"email": "Trond.Hindenes@domain.com",
如您所见,upn 和电子邮件并不相同,AzureAD 使用 "upn" 进行登录。一切正常,除了 auth0 "remembers" 我的登录基于我的电子邮件地址,当它将我重定向到 azureAD 时,它会用我的电子邮件地址而不是我的 upn 预填充用户名字段。
所以,我的问题是:在将用户重定向到 AzureAD 进行登录时,是否有任何方法可以强制 auth0(在客户端设置或 javascript 锁定库中)发送正确的属性 (upn)?
目前,当 Lock 显示 "last time you logged with" 消息时,它使用服务器从 getSSOData 端点提供的 lastUsedUsername
字符串作为标识用户的标签。
该标签被指定为 user.email
,如果不可用,则为 user.name
,并且无法更改。我知道你对此没有意见,但要明确一点,你不能改变它(你可以通过将 rememberLastLogin Lock option 设置为 false
来完全删除消息)。
现在,如果您希望更改发送到 Azure AD 的值,您可以在选项中使用 auth.params.login_hint
。您可以放置一个空字符串(以防止 Auth0 向 Azure AD 发送任何提示)或放置您想要的任何值(例如用户的 upn
):
var options = {
auth: {
params: {
login_hint: '' // or anything you want
}
}
}
var lock = new Auth0Lock(..., ..., options);
问题是,到目前为止,确实没有从用户配置文件中获取 upn
值的好方法。但是,如果你输入一个空字符串,Azure AD 将显示它自己的上次使用凭据列表,这对你的用户来说可能已经足够了。