我有一个使用.net核心的Identity Server 4应用程序。一切正常。我想做的是登录用户登录的客户端,因为我们有许多第三方应用程序,并且希望根据应用程序跟踪用户登录。
当用户点击登录表单时,他们将获得以下信息
客户端ID在URL中,尽管某些Identity Server 4中间正在记录日志,但我可以看到它的到来。我不能弄清楚的是如何从HttpContext或我找不到的其他变量中获取它。我也检查了signinmanager,似乎也找不到它。
有人知道我在哪里可以找到用户登录的应用程序的客户端ID吗?
答案 0 :(得分:5)
您可以使用IIdentityServerInteractionService
来获取AuthorizationRequest
,该对象包含有关当前授权请求的所有数据,包括ClientId属性。
var context = await _interaction.GetAuthorizationContextAsync(returnUrl);
var clientId = context.ClientId;