1

IdentityServer4 を実装しようとしています。すべてのクライアントは JavaScript アプリになります (react js 内)。私の質問は次のとおりです。

1.- カスタム ユーザー データベースを用意するので、6 番目の例のように Aspnet ID を使用して IS4 を実装しようとしています。しかし、私のクライアントは Javascript ベースであるため、暗黙的なフローを使用する必要があり、例では (MVC クライアントで行われているように) HybridAndClientCredentials を念頭に置いて作成されています。また、MVC ログイン アプリには同意手順が含まれていないようです。AspnetIdentity の例と組み合わせて JavaScript クライアントの例を実装しました。最初にエラーが発生しました: IdentityServer4.Validation.ScopeValidator: エラー: 無効なスコープ: api2 (api2 はクライアントが呼び出す Api) ですが、api2 はクライアント定義に含まれています:

 new Client
            {
                ClientId = "js2",
                ClientName = "JavaScript Client 2",
                AllowedGrantTypes = GrantTypes.Implicit,
                AllowAccessTokensViaBrowser = true,
                RequireConsent = true,
                RedirectUris =           { "http://jstwo:5004/callback.html" },
                PostLogoutRedirectUris = { "http://jstwo:5004/index.html" },
                AllowedCorsOrigins =     { "http://jstwo:5004" },

                AllowedScopes =
                {
                    IdentityServerConstants.StandardScopes.OpenId,
                    IdentityServerConstants.StandardScopes.Profile,
                    "api2"
                },
                AllowOfflineAccess = true
            }

先に進むために、クライアント呼び出しからそのスコープを削除しましたが、うまくいきました。ログインしましたが、同意の手順がないため、クライアントがクラッシュしました。

エラー画像

だから、私はここでちょっと迷っていると思います。consetステップをスキップする方法を見つける必要がありますか?? (どちらの方法でもそのステップを望まないので、それは良いことです。すべてのユーザーは内部になります)。

2.- また、サンプル 8_EntityFrameworkStorage のようなすべての構造をデータベースに永続化する必要があります。この方法を AspIdentity と組み合わせて使用​​できますか?

参照されたサンプル: https://github.com/IdentityServer/IdentityServer4.Samples

読んでいただきありがとうございます。

4

0 に答える 0