目前我正在使用Identity Server 3开发SSO服务。
我正在使用其中一个示例项目查看引用tokens的内容,然后我注意到示例项目中的cookie是在我的项目中授权用户。
该项目仍处于开发阶段,因此我仍在使用IDS项目提供的测试x509证书。它们都在我的本地机器上运行。我还在使用“秘密”作为秘密。示例项目是最小的Web主机。
在我看来,我认为发生这种情况的原因是x509证书的某种组合,事实上它们都在localhost上运行,事实上它们具有相同的秘密。但我想确定一下。
这是我的IDS主机设置:
app.Map("/identity", idsrvApp => {
var factory = Factory.Configure();
factory.ConfigureCustomUserService("CustomMembershipReboot");
idsrvApp.UseIdentityServer(new IdentityServerOptions {
SiteName = "Embedded IDS",
SigningCertificate = LoadCertificate(),
AuthenticationOptions = new AuthenticationOptions
{EnablePostSignOutAutoRedirect = true},
Factory = factory }); });
(工厂类似于会员重启中提供的工厂)
客户端:
ClientName = "MVC",
ClientId = "mvc",
Flow = Flows.Implicit,
AccessTokenLifetime=60,
RedirectUris = new List{},
PostLogoutRedirectUris = new List {},
AllowedScopes = new List { },
RequireConsent=false,
ClientSecrets = new List{ new Secret("secret".Sha256())},
AccessTokenType=AccessTokenType.Jwt
(客户端处于不同的重定向uri,我只是删除了一些东西以使帖子更短)