ServiceStack 与 IdentityServer4 集成

Posted

技术标签:

【中文标题】ServiceStack 与 IdentityServer4 集成【英文标题】:ServiceStack with IdentityServer4 intergration 【发布时间】:2019-02-17 17:21:30 【问题描述】:

我找不到有关同时使用这两个框架的答案。

我们计划构建一个身份提供者服务(如 Google 帐户),用于对用户进行身份验证并向 Rely Party 应用提供 OpenId 连接协议。我们在 ServiceStack 中构建了现有的项目,这些项目运行良好。但是,ServiceStack 在验证用户方面似乎与 IdentityServer4 不兼容。 ServiceStack 有自己的身份验证机制,IdentityServer4 依赖于 Asp.NET Identity Model。如果我通过 ASP.NET 身份模型登录,ServiceStack API 可能无法识别用户已登录。反之亦然。

是否有任何建议表明这是一个死胡同或一些可以使它们一起工作的解决方案?

【问题讨论】:

【参考方案1】:

mvcidentityserver 项目模板包含一个预配置的 ServiceStack + IdentityServer4 启动项目模板:

$ dotnet tool install -g x

$ x new mvcidentityserver ProjectName

有关 ServiceStack + IdentityServer4 集成的更多信息,请参阅Using IdentityServer4 Auth in ServiceStack 文档。

此外,ServiceStack 社区还提供了几个选项:

Using IdentityServer 4 with ServiceStack and Angular servicestack-authentication-identityserver JwtAuthProviderReaderPatchedForIdentityServer4.cs - description

【讨论】:

以上是关于ServiceStack 与 IdentityServer4 集成的主要内容,如果未能解决你的问题,请参考以下文章

将 ServiceStack 客户端与区分大小写的 REST 服务一起使用

.Net使用Redis详解之ServiceStack.Redis

ServiceStack.Redis 之 IRedisTypedClient 04_转

ServiceStack - 检查单元测试中的 WSDL 更改

ServiceStack - System.Web.HttpContext.Current.Session 为空

ServiceStack 新的 API 动作匹配 Rest Verbs