0

我正在尝试使用 Okta SSO 在 AspNetZero 应用程序中对我的用户进行身份验证。当我单击登录页面底部的 OpenID 时,我被重定向到 Okta 登录,然后我回到我的应用登录页面,最后“openIdConnectLoginCallback”在 TokenAuthController 上调用“ExternalAuthenticate”并调用 _externalAuthManager .GetUserInfo 抛出异常“名称声明丢失”。

在“login.service.ts”中,声明数组包含“名称”声明,ExternalAuthenticateModel.ProviderAccessCode 包含有效的 JSon 令牌,我检查并且“名称”在令牌中。

let claims = this.oauthService.getIdentityClaims();

            const model = new ExternalAuthenticateModel();
            model.authProvider = ExternalLoginProvider.OPENID;
            model.providerAccessCode = this.oauthService.getIdToken();
            model.providerKey = claims['sub'];
            model.singleSignIn = UrlHelper.getSingleSignIn();
            model.returnUrl = UrlHelper.getReturnUrl();

这是我的 appsettings.json

这是我在 Okta 中的应用程序配置

有什么想法可以解决该“名称”声明丢失的问题吗?

4

0 回答 0