2017-11-22 3 views
1

私はウェブサイトとwebapiの両方を提供するmvcアプリケーションを持っています。私は喜んでウェブサイトのユーザーを認証しています。今、私は、Windowsアプリケーションが直接Web APIメソッドを呼び出すことを許可する必要があります。私はWindowsアプリケーションをログインページにリダイレクトしたくありません。私は秘密鍵かユーザー名/パスワードのいずれかを保持するWindowsアプリケーションが必要です。そうすれば自動的に認証されます。B2CログインページなしでAAD B2CでWindowsアプリを認証するにはどうすればよいですか?

私は、b2cがクライアント資格フローを処理できないように思っています。サイレントにユーザー名とパスワードをB2Cに提供する方法はありますか?

+0

クライアントの資格情報フローでは、通常のAADエンドポイントを使用して、アプリケーションのトークンを取得できます。それをAPIに渡します。しかし、代わりにROPCを送ってはいけませんか? –

+0

私はAADとAADB2Cで自分のアプリを登録しますか? – FeeFiFoFum

答えて

1

Azure AD B2Cは、OAuth2のクライアント証明書またはROPCフローを実装していません。しかし、ROPCはAzure AD B2Cのロードマップにあります。

Windowsアプリケーションを使用する複数のユーザーがいる場合は、そのメカニズムを使用して取得されたトークンにユーザーコンテキスト(ユーザー認証によって実現)があるため、ROPCが必要です。

client_credentialsフローを使用すると、Windowsアプリケーションが秘密を保持する必要があり、ユーザーコンテキストなしでアプリケーションとしてのみ認証されます。これは保護された環境で実行されているデーモンとバックグラウンドプロセスでは有効ですが、ユーザーが使用すると思われるアプリケーションでは問題ありません。

この時点で、Azure AD B2Cのログインページにリダイレクトすることをお勧めします。ネイティブエクスペリエンスと同じではありませんが、ここでの利点は、MFA、文字列と言語のカスタマイズ、将来の新しいログインオプションなどのオプションを追加すると、クライアントアプリケーションを変更する必要はなく、すべてあなたのUIはそれらの機能を得るでしょう。

関連する問題