IdentityServer4隐式授予acr值

时间:2016-09-27 01:18:56

标签: identityserver3 openid-connect identityserver4

我正在尝试将租户ID作为参数传递给identityserver4隐式授权端点。客户端是使用angularjs编写的,是否有任何示例可以将tenantid从angular app传递到identityserver4端点。

我发现此功能是使用acr_values实现的。更多细节在这里 - https://github.com/IdentityServer/IdentityServer3/issues/348

1 个答案:

答案 0 :(得分:1)

是的当然。您始终可以在AUth请求的状态变量中传递userID或任何其他变量。如果在将请求URL中的userID作为参数发送到Auth服务器时,它会将状态返回到重定向URI。这意味着你可以在那里访问它。问题是当发送隐式请求时,它实际上将您的应用程序与服务器分离,因为响应URI(可能)处于不同的状态/页面。因此,通过将其作为状态传递,授权服务器在将用户代理重定向回客户端时包含此值。

public Authenticationrequest() {
var client_id = "YOUR-CLIENT-ID"; 
var scope = "OPTIONAL"; 
var redirect_uri = "YOUR_REDIRECT_URI"; 
var response_type = "token"; 
var authserver = "YOUR-AUTH-SERVER-URL?"; 
var state = "OPTIONAL"; // put UserID here
var AuthenticationURL = authserver + "response_type=" + response_type + "&scope=" + scope + "&client_id=" + client_id + "&state=" + state + "&redirect_uri=" + redirect_uri; 
return AuthenticationURL; 
};