どのフローを使用しているのかわかりません。私は暗黙のフローを想定していますが、この解決策を適用することができます。
ほとんどのクライアントは、特別なhttp://mypage/login-callback
ルートを持つことでこれを解決します。したがって、このルートはredirect_uri
として登録するだけです。 OIDC認証エンドポイントにリダイレクトする前に、ユーザーが要求したルートを保存します。クッキーを設定するか、sessionstorage
に保存してください。 login-callback
にリダイレクトされたら、トークンを抽出してcookie/localstorageキーを確認してから別のリダイレクトを行います。ここで
はoidcクライアントを使用してランダムな角度の例です:
async completeAuthenticationAsync() {
// complete login, get tokens etc...
this.user = await this.manager.signinRedirectCallback();
this.emitState();
// check for previously saved URI
var redirect = sessionStorage.getItem("auth:redirect");
if(redirect){
// redirect to route - this is using the angular router
sessionStorage.removeItem("auth:redirect")
this.router.navigate([redirect]);
}
else {
// redirect to start page
this.router.navigate([""]);
}
}
編集:あなたが公式の情報源を探しているとあなたがアイデンティティ・サーバー4をタグ付けされたので、彼らは彼らのJavaScriptクライアントの例では二重のリダイレクトを実行します。 http://docs.identityserver.io/en/release/quickstarts/7_javascript_client.html
[OK]をクリックすると、callback.htmlにリダイレクトされ、再び内部で処理されます。window.location = "index.html"; SPAをロードします。具体的なサンプルコードをありがとう。私はgithubで3つの角のサンプルを研究し、それらはすべて***です。 Dankeschön:P – Pascal
私はその角張ったアプリへのリンクをお願いしますか? – Pascal
Ok cool私はopenidの移行に多くの仕事をしていました...あなたの助けをもう一度ありがとう! – Pascal