仅使用 Identity Server 3 进行单点登录?
Just Single Sign on using Identity Server 3?
我们正在创建 8 个本机应用程序(IOS、Android,可能是 windows)。所有这些本机应用程序都 back-end api 使用 ASP.NET Web Api 构建。现在我正在尝试使用 IdentityServer3 (https://github.com/IdentityServer/IdentityServer3) 构建单点登录。我的用户数据保存在 ASP.NET Identity 2 中。我只需要验证 username/password(无外部身份验证)。现在我的困惑是
- 我需要多少 scopes/claims 或不需要 scopes/claims?网络 api 只需要知道保存在 ASP.NET 身份表中的 user-id、user-roles 和 user-claims。
- 我的客户端(本机应用程序)应该从 SSO 服务器请求什么范围?
- 在向我的 back-end ASP.NET web-api 发送请求时,他们是否应该在授权 header 中包含 id_token 或 access_token?
现在我的back-endASP.NETweb-api应该包括哪些范围?我的意思是我应该放在这里,
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
{
Authority = "https://localhost:44333/core",
RequiredScopes = new[] { XXXXXX }
});
SSO 服务器是否需要 https?什么是 SigningCertificate?它与https证书有什么关系?
- 这取决于您将如何划分 API space 和
您 API 需要了解有关用户的哪些信息。
- 您的客户应该请求他们调用 api 所需的范围
并完成工作。例如。假设您已将 API 划分为
两部分[读,写]。然后假设您的客户只会
从 API 中读取数据,然后您可以在其中注册您的客户端
身份服务器只有读取范围。那么你应该要求
仅从该客户端的 Identity Server 读取范围。
- 只有 Access_Token 应包含在授权中 header
- 这应该是为了验证传入的令牌。它检查是否
传入令牌包含给定的范围。你可以跳过
在此处声明并在 API 控制器方法中使用属性
还有。
- Https 是 Identity Server 所必需的。签名证书可以是
不同于 HTTPS 证书。签名证书用于
令牌签名,而 Https 用于传输安全
我们正在创建 8 个本机应用程序(IOS、Android,可能是 windows)。所有这些本机应用程序都 back-end api 使用 ASP.NET Web Api 构建。现在我正在尝试使用 IdentityServer3 (https://github.com/IdentityServer/IdentityServer3) 构建单点登录。我的用户数据保存在 ASP.NET Identity 2 中。我只需要验证 username/password(无外部身份验证)。现在我的困惑是
- 我需要多少 scopes/claims 或不需要 scopes/claims?网络 api 只需要知道保存在 ASP.NET 身份表中的 user-id、user-roles 和 user-claims。
- 我的客户端(本机应用程序)应该从 SSO 服务器请求什么范围?
- 在向我的 back-end ASP.NET web-api 发送请求时,他们是否应该在授权 header 中包含 id_token 或 access_token?
现在我的back-endASP.NETweb-api应该包括哪些范围?我的意思是我应该放在这里,
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions { Authority = "https://localhost:44333/core", RequiredScopes = new[] { XXXXXX } });
SSO 服务器是否需要 https?什么是 SigningCertificate?它与https证书有什么关系?
- 这取决于您将如何划分 API space 和 您 API 需要了解有关用户的哪些信息。
- 您的客户应该请求他们调用 api 所需的范围 并完成工作。例如。假设您已将 API 划分为 两部分[读,写]。然后假设您的客户只会 从 API 中读取数据,然后您可以在其中注册您的客户端 身份服务器只有读取范围。那么你应该要求 仅从该客户端的 Identity Server 读取范围。
- 只有 Access_Token 应包含在授权中 header
- 这应该是为了验证传入的令牌。它检查是否 传入令牌包含给定的范围。你可以跳过 在此处声明并在 API 控制器方法中使用属性 还有。
- Https 是 Identity Server 所必需的。签名证书可以是 不同于 HTTPS 证书。签名证书用于 令牌签名,而 Https 用于传输安全