問題タブ [two-factor-authentication]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - AngularJS、ASP.NET WebAPI、OAuth を使用した 2 要素認証
私のアプリケーションでは、ユーザー名/パスワードの後に SMS または電子メールでユーザーに送信されたコードによる 2 要素認証を使用しています。ユーザーを記憶するために Cookie を使用してきましたが、OWIN の助けを借りて、代わりに OAuth でベアラー トークンを使用したいと考えています。
OAuth は 2 要素認証を何とか解決しますか? そうでない場合、次のことを行うのは悪い考えでしょうか。
- クライアントはユーザー資格情報を
/api/authentication
(ApiController) に送信 (ポスト) します。- 資格情報が間違っている場合、サーバーは次のように応答します
400 Bad Request
- 資格情報が正しい場合、サーバーはコードを生成し、SMS でユーザーに送信します。次に、クライアントに
401 Unauthorize
withで応答しますWWW-Authenticate: ???
- 資格情報が間違っている場合、サーバーは次のように応答します
- クライアントはコードを
/token
(OAuth) に送信しますgrant_type=password&username={code}
authentication - カスタム ADFS 3.0 IAuthenticationAdapter を使用したマルチステップ MFA
を実装して ADFS 3.0 用のカスタム MFA プロバイダーをセットアップしてIAuthenticationAdapter
います。認証プロセスに別のステップを追加したいと考えています。たとえば、電子メール ベースの OTP を使用して、ユーザーはコードの前に電子メール アドレスを確認するように最初に求められます。が送信された後、ユーザーは OTP を入力するように求められるか、SMS OTP を送信する前にモバイルの数字を確認するように求められる可能性がありますが、認証パイプラインのワークフローは非常に厳格に見えBeginAuthentication
ます。ステップはもっと複雑なようです。OnError
TryEndAuthentication
これまでのところ、2 つの可能な解決策がいくつかあります。コメントや好み、またはできればこれを行うためのより良い方法を誰かに聞いてみたいと思います。
複数回呼び出し
TryEndAuthentication
て、異なるコンテキストを渡して、プロセスのどの段階をIAdaperPresentation
.jQuery およびその他のカスタム スクリプトをテキスト リソースとしてカスタム プロバイダー アセンブリに追加し、それらを
IAdapterPresentationForm.GetFormHtml
メソッドに挿入してフォームを動的にし、別の MVC / Web API サービスへのインライン AJAX 呼び出しを実行し、電子メールの検証を行います。ユーザーに認証フォームを表示する前に、次のような結果になります...
これが私のカスタム スクリプト リソース (Provider.txt) です。
そして、これが私がしたことですGetFormHtml
:
最初の方法はまだ試していません。また、ADFS 認証パイプラインでこの種のワークフローが許可されるかどうかもわかりません。
私は 2 番目の方法を試してみましたが、驚くほどうまくいきました。
これを行うためにきれいに実装できる単純な設定またはインターフェイスが欠けているのでしょうか、それともこれが唯一の方法ですか?
cas - CAS による 2 要素認証
2 要素認証を使用するように CAS インスタンスを変更するように依頼されました
私たちにとって、ユーザーにメールや SMS を送信するのは簡単です。したがって、カスタム OTP は歓迎されます。
CAS の 2 番目のインスタンスには関心がありません。
また、次の動作が必要です。
- ユーザーは、企業ネットワークを使用して個人証明書またはパスワードで認証できます
- インターネットからのユーザーは、個人証明書またはパスワードと OTP を介して認証できます
現在、インターネットからのユーザーは、個人証明書を介してのみ認証できます。パスワードは企業ネットワーク ユーザー専用です。したがって、この新機能は、インターネット ユーザーにとって OTP の 2 番目の要素となります。
CASはそれを行うことができますか?
2 要素認証を処理する準備ができているのは、どの CAS バージョンですか?
authentication - API を介してユーザーに対して Google 2 要素認証が有効になっているかどうかを確認する
Google を認証プロバイダーとして使用するアプリケーションを開発したいのですが、アカウントがアプリに登録される前に、Google アカウントが 2 段階認証プロセスを使用しているかどうかをアプリに認識させたいと考えています。
Google 開発ドキュメントで必要な API が見つかりません。