ASPNet身份验证MVC5客户端网站->身份验证服务器-> Web API服务器

安萨里

我是ASPnet身份服务的新手,我们需要满足以下要求。

以下是架构设置

1. Appserver

Appsever有
一个。实体框架
b。ASP.Net Web API2 Odata服务
c。授权服务器

2.网络服务器

ASP.Net MVC 5应用程序(访问App服务器的客户端)

流程需要

  1. 具有登录/注册表格的MVC5 Cleint应用程序

  2. 在注册/登录时,信息需要发送到应用服务器中的授权服务器,使用Identity Services进行授权并创建声明。

  3. 在授权服务器中创建身份后,客户端应用程序应登录

  4. 我知道从身份验证服务器获取承载令牌,并将其用作访问API服务的标头信息

我们所缺少的是MVC客户端应用程序应使用在授权服务器中创建的相同身份声明。

有什么方法可以访问在身份验证服务器中创建的声明。

我有一些有关如何在auth服务器中进行身份验证以及如何通过OWIN接收令牌的示例,并且可以从此令牌安全地访问API,但是我需要客户端Web应用程序需要基于令牌登录

我已经通过以下链接

http://blogs.msdn.com/b/webdev/archive/2013/09/20/understanding-security-features-in-spa-template.aspx

另外,我也需要在登录后根据需要添加声明

安萨里

我已经解决了以下问题,但是我不确定这是否有效

  1. 登录并检索承载令牌(此令牌应已分配了声明身份,例如用户名,角色等)。

  2. 在Web API AccountController中,需要创建一种方法来检索客户端Web应用程序所需的默认声明。请检查以下内容

    [Authorize]
    [HostAuthentication(DefaultAuthenticationTypes.ExternalBearer)]
    [Route("UserInfo")]
    public UserInfoViewModel GetUserInfo()
    {
        var firstname = ((ClaimsIdentity)User.Identity).Claims.Where(c => c.Type.Equals("FirstName")).SingleOrDefault();
        var lastname = ((ClaimsIdentity)User.Identity).Claims.Where(c => c.Type.Equals("LastName")).SingleOrDefault(); 
    
        var IsApproved = ((ClaimsIdentity)User.Identity).Claims.Where(c => c.Type.Equals("IsApproved")).SingleOrDefault();
    
        var userinfo = new UserInfoViewModel
        {
            UserName = User.Identity.GetUserName(),
            FirstName = firstname.Value.ToString(),
            LastName = lastname.Value.ToString(),
            UserApproved = Convert.ToBoolean(IsApproved.Value.ToString()),
            HasRegistered = externalLogin == null,
            LoginProvider = externalLogin != null ? externalLogin.LoginProvider : null
        };
    
        return userinfo;
    }
    
  3. 从客户端,将通过令牌将此肌动蛋白作为标题调用。

  4. 一旦我们获得了信息(采用Json字符串格式),需要使用javascript序列化程序通过UserInfoViewModel类(用户定义的viewmodel基于我们需要的信息并从webapi帐户发送的信息)进行序列化

  5. 使用这些视图模型信息,将它们分配给本地存储,并使用(本例中的cookie)作为本地的标识

  6. 从网络应用程序注销时,也请保持注销webapi的权限。

如果您需要更多信息或代码,请告诉我

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

客户端服务器和Web应用程序之间的身份验证

来自分类Dev

Web服务器上的身份验证和授权?

来自分类Dev

Web服务器上的身份验证

来自分类Dev

Windows身份验证Web API未经授权-多台服务器

来自分类Dev

Chromecast是否随附允许简单的Web服务器身份验证/验证的证书捆绑包?

来自分类Dev

Keycloak服务器身份验证

来自分类Dev

如何使用MVC Web Api内容服务器和Android最终用户apk实现OWIN身份验证服务器

来自分类Dev

Django内部API客户端/服务器身份验证?

来自分类Dev

Django内部API客户端/服务器身份验证?

来自分类Dev

在Azure中通过多个Web服务器进行用户身份验证

来自分类Dev

SSPI作为单点登录身份验证NTLM的Web服务器

来自分类Dev

使用Web应用程序的Apache服务器会话身份验证

来自分类Dev

树莓派Web服务器上需要身份验证

来自分类Dev

配置Apache Web服务器以执行SSL身份验证

来自分类Dev

Windows 10 UWP通过Web服务器进行身份验证

来自分类Dev

icCube-如何使用Apache Web服务器对icCube进行身份验证

来自分类Dev

SSPI作为单点登录身份验证NTLM的Web服务器

来自分类Dev

用于具有 Azure 身份验证的私有 Web 服务器的 SSL 证书

来自分类Dev

非域加入 Web 服务器上的 WebDav Windows 身份验证

来自分类Dev

服务器提供的Mocha Testing身份验证API

来自分类Dev

服务器提供的Mocha Testing身份验证API

来自分类Dev

客户端-服务器应用程序中的Google Play服务身份验证

来自分类Dev

OpenIddict-在同一项目中托管身份验证服务器和Web API资源

来自分类Dev

Facebook身份验证:服务器端与客户端。Python / Django

来自分类Dev

如何对 Google Drive Api 进行服务器到服务器身份验证?

来自分类Dev

身份服务器 4 身份验证

来自分类Dev

Java客户端针对CAS服务器进行身份验证

来自分类Dev

JBoss服务器上的客户端身份验证

来自分类Dev

Twisted Python客户端/服务器的Kerberos身份验证

Related 相关文章

  1. 1

    客户端服务器和Web应用程序之间的身份验证

  2. 2

    Web服务器上的身份验证和授权?

  3. 3

    Web服务器上的身份验证

  4. 4

    Windows身份验证Web API未经授权-多台服务器

  5. 5

    Chromecast是否随附允许简单的Web服务器身份验证/验证的证书捆绑包?

  6. 6

    Keycloak服务器身份验证

  7. 7

    如何使用MVC Web Api内容服务器和Android最终用户apk实现OWIN身份验证服务器

  8. 8

    Django内部API客户端/服务器身份验证?

  9. 9

    Django内部API客户端/服务器身份验证?

  10. 10

    在Azure中通过多个Web服务器进行用户身份验证

  11. 11

    SSPI作为单点登录身份验证NTLM的Web服务器

  12. 12

    使用Web应用程序的Apache服务器会话身份验证

  13. 13

    树莓派Web服务器上需要身份验证

  14. 14

    配置Apache Web服务器以执行SSL身份验证

  15. 15

    Windows 10 UWP通过Web服务器进行身份验证

  16. 16

    icCube-如何使用Apache Web服务器对icCube进行身份验证

  17. 17

    SSPI作为单点登录身份验证NTLM的Web服务器

  18. 18

    用于具有 Azure 身份验证的私有 Web 服务器的 SSL 证书

  19. 19

    非域加入 Web 服务器上的 WebDav Windows 身份验证

  20. 20

    服务器提供的Mocha Testing身份验证API

  21. 21

    服务器提供的Mocha Testing身份验证API

  22. 22

    客户端-服务器应用程序中的Google Play服务身份验证

  23. 23

    OpenIddict-在同一项目中托管身份验证服务器和Web API资源

  24. 24

    Facebook身份验证:服务器端与客户端。Python / Django

  25. 25

    如何对 Google Drive Api 进行服务器到服务器身份验证?

  26. 26

    身份服务器 4 身份验证

  27. 27

    Java客户端针对CAS服务器进行身份验证

  28. 28

    JBoss服务器上的客户端身份验证

  29. 29

    Twisted Python客户端/服务器的Kerberos身份验证

热门标签

归档