問題タブ [implicit-flow]
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.
oauth-2.0 - SPA で Implicit Flow を使用する場合、実際にデータベースのどこにアカウントを作成するのでしょうか?
OAuth2.0 Implicit Flow (OIDC を使用) が非常に単純な SPA/Mobile クライアント (別名 Client) と私の REST Api (別名 Resource Server) でどのように機能し、新しいアカウントを作成するかを理解しようとしています。
クライアントが認証サービス (Auth0/Stormpath/IdentityServer/etc) からトークンを要求する方法を多かれ少なかれ理解しています。次に、このトークンを使用して、制限された API エンドポイントにアクセスします。
しかし、私が読み続けているすべての例は、「アカウント」がこれらの認証サービスで作成されていることです (これは必須であり、理解しています) が、私のサービス (私のリソース サーバー) では何も作成されていません。
保存したいユーザーデータ/設定があるため、DBにアカウントを作成する必要があります(たとえば、注文など)。もちろん、セキュリティ情報を保存したくありません..それが外部認証サービスを使用している理由です。
したがって、暗黙的なフローを使用する方法と..トークンが返されたとき (または、より具体的には、ユーザー情報を取得するために OpenID Connect が使用されたとき) に、ユーザーが存在するかどうかを判断し、新しい場合は作成します。 .
また、認証サービスの観点からユーザーissuer_id + sub
を判別するには、両方のトークンが必要であることも理解しています。unique
最後に、「新しいアカウントのスパム/悪用」をどのように防止していますか? クライアントのある時点で(ヘッダーにトークンを貼り付ける必要があるため、各Rest APIリクエストの前にローカルストレージトークンをチェックしますbearer
)...新しいユーザーを作成することにしたとき.. . 私の REST Api (別名リソース サーバー) には、新しいユーザーを作成するためのエンドポイントがあります.. のようにPOST /account/
.. では、新しいアカウントを作成するスパムの新しいランダム POST からサーバーを保護するにはどうすればよいでしょうか? IP+時間遅延制限?
oauth-2.0 - oauth2 暗黙的フローに同意画面がない
私はauth0を使用してoauth2で遊んでいます。REST クライアントを使用して暗黙的なフローをシミュレートできます。私の問題は、同意画面がポップアップせずにユーザーの詳細を取得できることです。フローは次のとおりです。 1. ユーザー名、パスワード、およびクライアント ID を送信します。2. アクセス トークンを取得する 3. 手順 2 のアクセス トークンを使用して、ユーザー情報を要求するリクエストを送信します。ここでは、ユーザーの詳細を含む応答が返されますが、ユーザーにアクセスを許可するための同意画面は表示されません。これは欠陥のようなものではありませんか?
access-token - js クライアント アプリを使用した ID サーバー 4 でのサイレント トークンの更新が期待どおりに機能しない
私は ID サーバー 4 を使用して、エンタープライズ アーチ内のさまざまなアプリに ID サービスを提供しています。
oidc-client.js を使用して ID サーバー 4 アプリに暗黙的フローを使用して SPA アプリケーションを登録し、動作しています。
ただし、問題はトークンの更新にあり、ユーザーに再度ログインを求めることなく、ユーザーのログインを長期間保持する必要があります。
これを実現するには、次の構成でサイレント トークン更新を実装します。
var mgr = new Oidc.UserManager(config);
上記の構成では、自動更新が行われていますが、期待どおりのサイレント更新ではありません。ID サーバーからの応答を処理するために、リダイレクト URI への完全なページ リダイレクトが行われています。
例:index.htmlはサイレント更新が発生する実際のページで、callback.htmlはリダイレクトURIです。index.htmlはcallback.htmlにリダイレクトされ、更新されてからindex.htmlにリダイレクトされ、実際のネットワークログが添付されます下、
問題を解決してサイレント更新を行うのを手伝ってください。