次戻っていない私は、カスタムストアを使用して、ASP.NETコアアイデンティティとIdentityServer4を実装している:IdentityServer4コールバックURLはASP.NETコアアイデンティティ認証
services.AddScoped<IUserStoreProxy<UserKey>, LocalUserStore<UserKey>>();
services.AddScoped<IRoleStoreProxy<UserKey>, LocalRoleStore<UserKey>>();
//Add ASP.NET Core Identity
services.AddIdentity<UserKey, ApplicationRole>()
.AddUserStore<LocalUserStore<UserKey>>()
.AddRoleStore<LocalRoleStore<ApplicationRole>>()
.AddDefaultTokenProviders();
services.AddMvc();
//Add IdentityServer
services.AddIdentityServer().AddSigningCredential(subject_distinguished_name,
StoreLocation.LocalMachine,
NameType.SubjectDistinguishedName)
.AddTemporarySigningCredential()
.AddResourceStore<LocalResourceStore>()
.AddClientStore<LocalClientStore>()
.AddAspNetIdentity<UserKey>();
私はHybridAndClientCredentialフローの構成を検証しています。認可ルートは有効な認可リクエストとともに呼び出され、IdentityServer上のログインページをロードします。ログインに成功すると、リダイレクトURLは、認証コード付きのコールバックURLではなく、IdentityServerのルートになります。
ブラウザで承認リクエストを入力すると、認証コードとともにコールバックURLが返されます。ただし、ログイン試行が成功した後にもう一度許可リクエストを呼び出した後にのみ返されるようです。
私はここで間違っていますか?ログイン試行に成功した直後にコールバックURLを返すようにログインページを取得するにはどうすればよいですか?
は、事前にありがとう アンドリュー
クライアントの設定を投稿できますか? – JayDeeEss
JayDeeEssのお手伝いをしていただきありがとうございます。問題を解決するためには、まったく新しい目を必要とするケースに過ぎませんでした。問題は、クエリ文字列からreturnUrl値をキャプチャして返す方法にありました。 –