2017-05-18 16 views
1

暗黙のフローを使用してAngular 2フロントエンド(Web APIサービス)を保護するIdentity Server 4(ASP.NET Coreの下)を使い始めました。Identity Server 4/OpenID ConnectデフォルトのリダイレクトURL

oidc-client JS libraryを使用すると、サンプルのデフォルトページからログインページにリダイレクトし、ユーザーに認証させてからAngularサイトのコールバックを(接続/許可して)リダイレクトできます。

を直接を認証用ログインページ(角度のホームページではなく)で参照すると、認証できますが、リダイレクトすることはできません。手動で認証サーバーの/ connect/authorizeページにリダイレクトすると、OIDCクライアントは「一致する状態がストレージに見つかりません」と報告します。 (おそらく、OIDCクライアントは元の要求に対する応答を確認するために何かをローカルに保持していますか?)認証サーバは、その後正常に戻っとして認証サーバにリダイレクトすることができ角度クライアントに指定されたリダイレクトせずにすべての要求をリダイレクトするため

明白な解決策です。しかし、それは多くのラウンドトリップのように感じます。

答えて

2

はい - これは動作しないためです。認証フローは、IDプロバイダではなくクライアントアプリケーションで開始されます。

アンOpenIDの接続プロバイダは、通常、1つのクライアント、より多くを持っている - それは、(有効なOIDCがリクエストを承認別名)コンテキスト情報を必要とします。

あなたは旅は、あなたが提案したような何かをする必要があり、プロバイダから始まることをしたい場合は - しかし、あなたは第二のクライアントを持っていたら、あなたはその(例えば、選択画面など)について賢くする必要があります。

+0

私はそれほど意識していなかったことを確認してくれてありがとう。 (現実的には、一部のユーザーは常にログインページをブックマークしているので、そのような観点からは、少なくとも機会に、どのように動作するのですか。)Googleは、あなたが言うように、アカウント管理者にリダイレクトするページをデフォルトとして使用します。 ご意見ありがとうございます。ありがとう。 –

関連する問題