Mus*_*.BA 3 c# .net-core identityserver4
我应该只创建一个客户端,并且我的所有应用程序都必须使用它连接到身份服务器,还是应该进行配置才能使其正常工作?
Identity Server是Web API,授权类型是“资源所有者密码”。
小智 5
每个应用程序都是一个客户端。但是否应该使用相同的 client_id 由您决定。就我个人而言,我对应用程序的每个实例使用不同的 client_id。这有助于我识别实例并允许我为每个实例使用不同的秘密。我认为当您使用刷新令牌时,client_id 必须是唯一的。
SSO 是您在使用 OpenId Connect (oidc) 时免费获得的东西。它之所以有效,是因为 IdentityServer 网站上有一个 cookie:
当用户必须登录时,用户将被重定向到 IdentityServer 网站,其中(成功验证后)会设置一个 cookie,其中包含有关用户身份的信息。
当用户返回到客户端时(身份验证成功后),客户端也会设置一个 cookie。只要此身份验证 cookie 可用,用户就会登录。
当用户需要再次登录时,由于客户端无法对用户进行身份验证(不再),IdentityServer将尝试使用IdentityServer网站上的cookie中的信息来识别用户,并(如果成功)自动登录用户,跳过登录表单。
但你的设置似乎与oidc无关。当您说 IdentityServer 是 Web Api 时,这表明用户没有重定向到 IdentityServer 进行登录,这意味着没有机会设置 cookie。
资源所有者密码凭证 (ROPC) 是一种 OAuth2 授权类型。这表明用户在客户端上执行登录。
为了启用 SSO,用户必须登录 IdentityServer 网站。虽然 ROPC 仍然可行,但您最好使用推荐的授权类型之一。
| 归档时间: |
|
| 查看次数: |
9084 次 |
| 最近记录: |