IdentityServer3 で OAuth2 認証を構築しようとしています。
そこで、nuget から Bytes をダウンロードし、データベースに接続しました。データベースは、デフォルトのスコープと Thinktecture 自身のサンプル クライアントで初期化されました。次に、AD FS を OWIN 経由で IDP として接続し、単純な ExternalUserService を作成しました。
これまでのところ、すべてが正常に機能し、IdSrv のアクセス許可ページを開くことができ、ユーザー名と、これまでに同意したアプリケーションがないことが示されました。
次に、Xamarin.Auth をそれに接続しようとしたところ、サインインするアプリケーションを特定できないというエラーが発生し、ログにサインイン Id が存在しないというエラーが表示されました (ADFS IDP でのログオン後)。
複雑さを軽減するために、InMemoryUserService に戻り、1 つの InMemoryUser を作成することにしました。これはアクセス許可ページで機能しました (少なくとも短期間 - 時間は過ぎました) が、OAuth2 認証コード フローが許可されず、ログイン ページが何度も何度も表示されることになりました。また、ログにエラーの証拠はありません。
どうすればデバッグできますか?何が起こっているのでしょうか? ログインしているにもかかわらず、ユーザーが再びログイン ページにリダイレクトされる理由を確認する方法はありますか?
--
シンプルな InMemoryUserFactory のみを使用する新しい空の MVC アプリケーションを作成することで、複雑さをさらに軽減しました。少し混乱しています: あるユーザーは自分のマシンからログオンできましたが、他のマシン (同じユーザー - 作成したのは 1 つだけなので) はログインできず、何度も何度もログインのプロンプトが表示されます。