如果您使用的是SSO,并且您的帐户已链接到您在Salesforce上使用的同一帐户,则无需显示登录页面。
支持身份服务器将附加的身份验证相关信息传递给用户服务。
acr_values-还有一些具有特殊含义的值:idp:name_of_idp绕过登录/家庭领域屏幕,并将用户直接转发到选定的身份提供者(如果每个客户端配置允许)
因此我们可以设置acrValues之类的参数:“ idp:SalesForce”
但是出现错误屏幕,无法重定向到我们的回调URL。
IdentityServer3.Core.Endpoints.AuthenticationController错误-请求的IdP是:SalesForce,但是用户服务为IdP发出了登录名:idsrv
如何解决此问题?
var state = Guid.NewGuid().ToString("N");
var nonce = Guid.NewGuid().ToString("N");
var tempState = await Request.GetTempValuesAsync();
SetTempState(tempState["redirectUri"].FirstOrDefault(), state, nonce);
var authorizeUrl = new AuthorizeRequest(_dicoveryResponse.AuthorizeEndpoint).CreateAuthorizeUrl(
clientId: _authClientId,
responseType: "code",
scope: "openid api offline_access",
redirectUri: _appBaseUrl + "/account/callback",
state: state,
nonce: nonce,
acrValues: "idp:SalesForce");