<i id='rZQKo'><tr id='rZQKo'><dt id='rZQKo'><q id='rZQKo'><span id='rZQKo'><b id='rZQKo'><form id='rZQKo'><ins id='rZQKo'></ins><ul id='rZQKo'></ul><sub id='rZQKo'></sub></form><legend id='rZQKo'></legend><bdo id='rZQKo'><pre id='rZQKo'><center id='rZQKo'></center></pre></bdo></b><th id='rZQKo'></th></span></q></dt></tr></i><div id='rZQKo'><tfoot id='rZQKo'></tfoot><dl id='rZQKo'><fieldset id='rZQKo'></fieldset></dl></div>
      1. <small id='rZQKo'></small><noframes id='rZQKo'>

        <tfoot id='rZQKo'></tfoot><legend id='rZQKo'><style id='rZQKo'><dir id='rZQKo'><q id='rZQKo'></q></dir></style></legend>

          <bdo id='rZQKo'></bdo><ul id='rZQKo'></ul>

        通过 IdentityServer 身份验证后如何获取 WebAPI 控制

        时间:2023-06-01
      2. <i id='WnQJ3'><tr id='WnQJ3'><dt id='WnQJ3'><q id='WnQJ3'><span id='WnQJ3'><b id='WnQJ3'><form id='WnQJ3'><ins id='WnQJ3'></ins><ul id='WnQJ3'></ul><sub id='WnQJ3'></sub></form><legend id='WnQJ3'></legend><bdo id='WnQJ3'><pre id='WnQJ3'><center id='WnQJ3'></center></pre></bdo></b><th id='WnQJ3'></th></span></q></dt></tr></i><div id='WnQJ3'><tfoot id='WnQJ3'></tfoot><dl id='WnQJ3'><fieldset id='WnQJ3'></fieldset></dl></div>

          <small id='WnQJ3'></small><noframes id='WnQJ3'>

        • <legend id='WnQJ3'><style id='WnQJ3'><dir id='WnQJ3'><q id='WnQJ3'></q></dir></style></legend>

            <tfoot id='WnQJ3'></tfoot>
                <tbody id='WnQJ3'></tbody>
                • <bdo id='WnQJ3'></bdo><ul id='WnQJ3'></ul>

                  本文介绍了通过 IdentityServer 身份验证后如何获取 WebAPI 控制器上的用户信息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  在我的客户端应用程序成功通过 IdentityServer3 进行身份验证后,我无法在 WebAPI 控制器上获取用户信息.步骤如下:

                  I cannot get user's information on WebAPI controller after my client app authenticates with IdentityServer3 successfully. Below are the steps:

                  1. 使用配置文件和访问令牌登录"成功从 JavaScript隐式客户端应用程序
                  2. 我在ID Token Contents"面板上看到了用户数据
                  3. 我对我的 WebAPI 服务执行呼叫服务",我在 ClaimsPrincipal 中看到许多声明,但无法获取电子邮件、客户端显示的角色等值.下面是代码&回复.

                  谁能帮助我如何在 WebAPI 上获取用户数据?

                  Could anyone provide me some helps how to get user's data on WebAPI?

                  推荐答案

                  如果你使用owin,可以试试这段代码.

                  if you use owin, you can try this code.

                   var owinUser = TryGetOwinUser();
                   var claim= TryGetClaim(owinUser, "email");
                   string email = claim.Value;
                  
                   private ClaimsPrincipal TryGetOwinUser()
                      {
                          if (HttpContext.Current == null)
                              return null;
                  
                          var context = HttpContext.Current.GetOwinContext();
                          if (context == null)
                              return null;
                  
                          if (context.Authentication == null || context.Authentication.User == null)
                              return null;
                  
                          return context.Authentication.User;
                      }
                  
                      private Claim TryGetClaim(ClaimsPrincipal owinUser, string key)
                      {
                          if (owinUser == null)
                              return null;
                  
                          if (owinUser.Claims == null)
                              return null;
                  
                          return owinUser.Claims.FirstOrDefault(o => o.Type.Equals(key));
                      }
                  

                  这篇关于通过 IdentityServer 身份验证后如何获取 WebAPI 控制器上的用户信息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:DNX Core 5.0 JwtSecurityTokenHandler“IDX10640:不支持算法 下一篇:填充无效,无法删除?

                  相关文章

                  最新文章

                • <i id='yeqwX'><tr id='yeqwX'><dt id='yeqwX'><q id='yeqwX'><span id='yeqwX'><b id='yeqwX'><form id='yeqwX'><ins id='yeqwX'></ins><ul id='yeqwX'></ul><sub id='yeqwX'></sub></form><legend id='yeqwX'></legend><bdo id='yeqwX'><pre id='yeqwX'><center id='yeqwX'></center></pre></bdo></b><th id='yeqwX'></th></span></q></dt></tr></i><div id='yeqwX'><tfoot id='yeqwX'></tfoot><dl id='yeqwX'><fieldset id='yeqwX'></fieldset></dl></div>
                • <legend id='yeqwX'><style id='yeqwX'><dir id='yeqwX'><q id='yeqwX'></q></dir></style></legend>
                  • <bdo id='yeqwX'></bdo><ul id='yeqwX'></ul>

                    <small id='yeqwX'></small><noframes id='yeqwX'>

                    <tfoot id='yeqwX'></tfoot>