是否可以在AuthenticateLocalAsync
方法中从自定义用户服务重定向到外部提供商(在我的情况下:AAD)?
外部提供商取决于本地用户。
答案 0 :(得分:1)
AuthenticateLocalAsync
将在用户提供用户名和密码后执行。
您需要做的是在PreAuthenticateAsync
Task PreAuthenticateAsync(PreAuthenticationContext context)
{
context.SignInMessage.IdP = "<EXTERNAL IDENTITY PROVIDER NAME>";
return Task.FromResult(0);
}
修改强>
如果您需要首先使用用户名和密码进行身份验证,然后使用外部身份提供程序,我猜您应该使用相同的机制进行部分登录。
AuthenticateLocalAsync
中的您应该使用this constructor方法创建AuthenticateResult
。您设置了重定向网址,并从那里调用外部身份提供商的挑战
答案 1 :(得分:0)
我更改了用户登录策略。现在,用户应该在登录页面上选择他的帐户提供商。一切都按预期工作