首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多AuthProvider服务栈

多AuthProvider服务栈
EN

Stack Overflow用户
提问于 2017-11-15 13:13:08
回答 1查看 203关注 0票数 1

我有一些问题,使工作第二次供应商在同一时间的服务。我使用的是:JWT令牌--允许用户使用JWT令牌进行身份验证,是我的用户,可以很好地进行身份验证。

现在我还是想使用access -允许用户为一些外部第三方用户访问使用access进行身份验证。

不过,当我配置两个用户时,通过JWT令牌进行身份验证已经不再有效了。

下面是我的配置AuthProvider配置:

代码语言:javascript
复制
        IAuthProvider[] providers = new IAuthProvider[]
        {
            new JwtAuthProviderReader(this.AppSettings)
            {
                HashAlgorithm = "RS256",
                PrivateKeyXml = this.AppSettings.GetString("TokenPrivateKeyXml"),
                PublicKeyXml = this.AppSettings.GetString("TokenPublicKeyXml"),
                RequireSecureConnection = this.AppSettings.Get<bool>("TokenUseHttps"),
                EncryptPayload = this.AppSettings.Get<bool>("TokenEncryptPayload"),
                PopulateSessionFilter = (session, obj, req) =>
                {
                    ApplicationUserSession customSession = session as ApplicationUserSession;
                    if (customSession != null)
                    {
                        customSession.TimeZoneName = obj["TimeZoneName"];
                        customSession.Type =  (FbEnums.UserType) (obj["UserType"].ToInt());
                        if (Guid.TryParse(obj["RefIdGuid"], out Guid result))
                        {
                            customSession.RefIdGuid = result;
                        }
                    }
                },
            },
            new ApiKeyAuthProvider(AppSettings)
            {
                RequireSecureConnection = false
            }

        };

我正在用JwtAuth生成标记。不过,servicestack似乎不接受我的令牌作为有效会话,因为现在每当我这样做的时候:

var session = httpReq.GetSession();

session.IsAuthenticated ->总是错误的

如果我将ApiKeyAuthProvider从配置中删除,则JwtAuth中的令牌再次正常工作。

如何使两个提供程序协同工作,并告诉servicestack,一些用户将使用JwtAuth,而其他用户将使用ApiKeyAuth?

EN

回答 1

Stack Overflow用户

发布于 2017-11-15 16:58:04

您需要调用需要身份验证的服务,例如具有[Authenticate]属性,以便为IAuthWithRequest提供程序(如JWT和API )触发预身份验证。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47308340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档