Cookies 使用隐式流获取cookie

Cookies 使用隐式流获取cookie,cookies,identityserver3,Cookies,Identityserver3,使用IDServer3、OWIN、angular2、WebAPI等 我在IDSrv中设置了两个客户端,一个是MVC,一个是JS/Angular,我正在尝试实现SSO。目前,如果我通过MVC应用程序(混合流)登录,SSO将起作用,因为这将在浏览器中设置cookies,并在我通过隐式流导航到登录时被选中。但是,如果我第一次尝试通过JS应用程序(隐式流)登录,则不会设置cookie,因此不会实现SSO。当我们通过隐式流和混合流登录时,如何配置IDSrv来设置cookies 编辑: 换句话说,是否可以同

使用IDServer3、OWIN、angular2、WebAPI等

我在IDSrv中设置了两个客户端,一个是MVC,一个是JS/Angular,我正在尝试实现SSO。目前,如果我通过MVC应用程序(混合流)登录,SSO将起作用,因为这将在浏览器中设置cookies,并在我通过隐式流导航到登录时被选中。但是,如果我第一次尝试通过JS应用程序(隐式流)登录,则不会设置cookie,因此不会实现SSO。当我们通过隐式流和混合流登录时,如何配置IDSrv来设置cookies

编辑: 换句话说,是否可以同时使用WebAPI的承载令牌身份验证和MVC的cookie身份验证,并在两者之间实现SSO

编辑2:
既然一个答案证实了我的理解,我将再次重新措辞这个问题。在JS(angular 2)客户端中使用隐式流,如何在通过IDSrv中的auth端点进行身份验证时获得令牌和cookie?当前只返回一个令牌。

是-因为身份验证会话不是在idsrv和您的应用程序之间维护的-而是在idsrv和您的浏览器之间维护的

然后,每个应用程序都必须设置自己的会话——MVC通过cookie实现这一点。在JS中,通常使用会话存储之类的东西

要查看您的场景,请执行以下操作:

  • 打开MVC应用程序

    • 使用idsrv进行身份验证。idsrv设置身份验证cookie
    • 重定向回mvc
    • MVC将自己的cookie设置为登录用户
  • 打开JS应用程序

    • 使用idsrv进行身份验证。这一次已有一个登录会话。不显示登录UI,令牌直接发送回JS
    • JS验证响应并记住本地存储中的用户

  • 每个客户端应用程序都需要自己的方式登录用户(cookie与会话存储)。发生单点登录是因为存在与idsrv的附加会话(由idsrv自己的Cookie维护)

    是-因为身份验证会话不是在idsrv和您的应用程序之间维护的,而是在idsrv和您的浏览器之间维护的

    然后,每个应用程序都必须设置自己的会话——MVC通过cookie实现这一点。在JS中,通常使用会话存储之类的东西

    要查看您的场景,请执行以下操作:

  • 打开MVC应用程序

    • 使用idsrv进行身份验证。idsrv设置身份验证cookie
    • 重定向回mvc
    • MVC将自己的cookie设置为登录用户
  • 打开JS应用程序

    • 使用idsrv进行身份验证。这一次已有一个登录会话。不显示登录UI,令牌直接发送回JS
    • JS验证响应并记住本地存储中的用户

  • 每个客户端应用程序都需要自己的方式登录用户(cookie与会话存储)。发生单点登录是因为存在与idsrv的附加会话(由idsrv自己的Cookie维护)

    您能否解释一下,当首次通过隐式客户端登录时,会话存储将如何解决SSO问题?当我们访问MVC客户端时,IDSrv将如何获取此信息?或者我可能有一个误解。。。当我通过MVC客户端登录时,我看到的cookie中包含的ID_令牌是由MVC应用owin中间件生成的还是由IDSrv生成的?编辑:经过再三考虑,它必须由IDSrv生成,因为它已签名…我添加了更多信息。如果还不清楚,您需要阅读一些基础知识。您能解释一下会话存储如何解决首次通过隐式客户端登录时的SSO问题吗?当我们访问MVC客户端时,IDSrv将如何获取此信息?或者我可能有一个误解。。。当我通过MVC客户端登录时,我看到的cookie中包含的ID_令牌是由MVC应用owin中间件生成的还是由IDSrv生成的?编辑:经过再三考虑,它必须由IDSrv生成,因为它已签名…我添加了更多信息。如果这还不清楚,你需要阅读一些基本知识。