問題タブ [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.

0 投票する
1 に答える
470 参照

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+時間遅延制限?

0 投票する
0 に答える
127 参照

oauth-2.0 - oauth2 暗黙的フローに同意画面がない

私はauth0を使用してoauth2で遊んでいます。REST クライアントを使用して暗黙的なフローをシミュレートできます。私の問題は、同意画面がポップアップせずにユーザーの詳細を取得できることです。フローは次のとおりです。 1. ユーザー名、パスワード、およびクライアント ID を送信します。2. アクセス トークンを取得する 3. 手順 2 のアクセス トークンを使用して、ユーザー情報を要求するリクエストを送信します。ここでは、ユーザーの詳細を含む応答が返されますが、ユーザーにアクセスを許可するための同意画面は表示されません。これは欠陥のようなものではありませんか?

0 投票する
1 に答える
9189 参照

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にリダイレクトされ、実際のネットワークログが添付されます下、ここに画像の説明を入力

問題を解決してサイレント更新を行うのを手伝ってください。