問題タブ [oauth2orize]
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.
node.js - 携帯電話番号とセキュリティ PIN の新しい交換ポリシーを oauth2orize に実装する方法
カスタム交換ポリシーを実装する方法。
クライアントのパスワード戦略のように、携帯電話番号とセキュリティ PIN のトークンを生成したい
express - oauth2orize redirect_uri の問題
私の使用のために oauth2orize all-grants の例をカスタマイズしようとしています。all-grants をそのまま実行でき、すべてが (ご想像のとおり) 動作しますが、カスタマイズしたバージョンを実行すると、常に次のエラーが発生します。
私はこれを少し掘り下げてきましたが、その関数内に txn 変数のプロパティがあり、 redirectURI という名前にする必要があり、最初のリクエストのクエリ文字列から /dialog/authorize ページへの redirect_uri を入力する必要があります. 何らかの理由で、これは私のサンプルアプリでは起こりません。これは、エクスプレス バージョンの違いが原因ですか? これが、サンプル コードと私のカスタマイズの最大の違いです。all-grants は express 2.* を使用し、私のアプリは express 4.* を使用します。
エクスプレス バージョンの問題ではない場合、コードのどこから問題を探す必要がありますか?
参考までに、これは私のアプリで txn オブジェクトに対して表示されるものです。
そして、これは私が例と同じオブジェクトで見たものです ( req と txn 自体に redirectURI が存在することに注意してください):
javascript - OAuth2 の基本戦略とパスワード grant_type
BasicStrategy と grant_type=password を使用して oauth2orize を使用してアプリケーションを開発していますが、コードのこの部分に問題があります。
このコード (git の例から取得) では、クライアントの資格情報とユーザーの資格情報 (ユーザー名 + クライアント ID、クライアント シークレットを含むユーザーパスワード) の同等性をテストします。
これは、クライアント アプリケーションごとに 1 人のユーザーしか持てないことを意味します。
アプリケーションごとにユーザーを 1 人だけにしたくありません。実際、多くのユーザーが同じアプリケーションに (資格情報レベルで) 接続したり、コンテンツを共有したりできます...
この戦略でこれを実装する方法がわかりませんか?
「申請」という用語に関して、私はその過程で何かを誤解していると思います...
node.js - 独自の oauth2 サーバーと api サーバーを実装する
oauth 2 サーバーと api サーバーを実装しようとしています (どちらも別のサーバーです)。(すべてnodejsを使用)
https://github.com/FrankHassanabad/Oauth2orizeRecipes認証コード フローを使用しています
oauthサーバーに新しいvalidateToken関数を記述し、API側からヒットしてそのユーザーのみを認証する必要がありますか。
ユーザーとロールを oauth 側に保持することを考えていますが、API 呼び出し応答を行う前に API 側でそれらを確認する必要があります。
認証目的だけでなく、cms やモバイルアプリにも使用しようとしています。私たちは正しい道を進んでいますか、それとも何かが欠けていますか。
node.js - パスポートと OAuth の違いは何ですか?
Express.js を使用して認証サービスを構築しようとしていますが、認証モジュールのアイデアがまだわかりません。
パスポートとoauthミドルウェアの違いは何ですか? 彼らはお互いに依存していますか?BearerStrategy 検証へのトークンを生成するための oauth サーバーなしで BearerStrategy を使用するのは無意味ですか? 私は正しい道を進んでいますか?
oAuth2 とその認証フローについて読んだことがありますが、この結合されていないコードでまだ迷っています。
バックエンド API と通信する AngularJS フロントエンドの更新トークンを使用してリソース所有者パスワード認証を構築しようとしていますが、反対側で oauth2orize を使用した password.js 戦略 (基本、ベアラー、ClientPassword) の多くの組み合わせに直面しています。 .
そこで、NodeJS で認証がどのように機能するかについて、非常に簡単な説明を知りたいと思います。Express が認証の仕組みの新しい方法を発明しているわけではないことは本当にわかっていますが、モジュールがあまりにも目立たないため、それらが連携して機能するためにどのように機能するかの基本を理解する必要があります。
node.js - hapijs で oauth2orize を実装する方法
hapijs に oauth2orize を実装しました。しかし、API を呼び出しても何も起こりません。関数は oauth2orize モジュールの code.js ファイル内に入り、その間でハングします。hapjs で oauth2orize を実装する方法を教えてください。hapi-oauth2orize も、移民および hapi-oauth2orize プラグインがオプション エラーをスローするため機能しません。
node.js - SPA ロード中に JWT id_token を確認して更新する方法を教えてください。
私はかなり初心者で、フローの一部 (またはどのベスト プラクティスを使用すべきか) を理解するのに苦労していますOAuth 2.0
...OpenID Connect
長い投稿で申し訳ありません:)
私のセットアップ:
(
OP
OpenID プロバイダー) は、基本的にと を使用してユーザーを認証および承認するexpress
サーバーです。呼びましょうoauth2orize-openid
passport
http://authserver.com
my に対してユーザーを認証する必要がある
Single page application
(react+webpack) 、それをOP
呼び出しましょうhttp://my-spa.com
これはSPA(webpackによって静的に提供される)なので、使用する必要がありますImplicit Flow
。
私の質問
ユーザーが に移動すると、アプリケーションがロードされ、 が存在するかどうかhttp://my-spa.com
がチェックされます。localStorage
id_token
いいえid_token
オンlocalStorage
ロード:
- トークンがないので、リダイレクトします
http://authserver.com/dialog/authorize
response_type=id_token
scope=openid profile
- ユーザーが正常に認証および承認されると、URI フラグメント内のに
authserver
リダイレクトされますmy-spa
id_token
- に保存する
id_token
とlocalStorage
、ユーザーはアプリの使用を開始できます。
ロード中id_token
ですlocalStorage
ユーザーがブラウザを閉じて、再度開きました。これは、私が何をすべきかを理解するのに苦労しているところです。(以前のログインからの) トークンが既に存在するため、それが有効かどうかを確認する必要があります。
そのためのベストプラクティスは何ですか? これが私が正しいと思うものです:
- を使用するようにリダイレクト
http://authserver.com/dialog/authorize
:prompt=none
id_token_hint=CURRENT_TOKEN
OP
このリクエストを受信すると、JWT 署名を検証し、ユーザーの自動承認を試みて、新しい JWT でリダイレクトする必要があります。
しばらくするとトークンが期限切れになります
ログインしたユーザーの JWT が期限切れになったとしましょう。いつ新しいものを要求する必要がありますか? 更新のトリガーは何ですか?
/tokeninfo
またはは何の/userinfo
ためにありますか?
私の理解では、JWT はユーザーを識別するために必要なすべてのデータを保存します。/tokeninfo
ただし、 orを呼び出す例を見てきました/userinfo
。
IDを既に持っている場合sub
、これらのエンドポイントはトークンを検証するためだけのものですか (サブジェクトの ID 以外は何も必要ないと仮定します)?
JWT署名検証
のほかに、JWT 署名を検証するOP
必要がありmy-spa
ますか (おそらく公開鍵を使用)?
このトークンを再利用して、3 番目のサービスの REST API にアクセスする
別の Web サービス API がhttp://my-service.com/api
あり、SPA から呼び出したユーザーを知る必要がある場合は、次の手順を実行する必要があります。
- をトークンとして各 ajax リクエストに
id_token
追加しますBearer
my-service.com
JWT署名を(公開鍵で?)検証し、保護されたリソースへのアクセスを許可するか拒否するかを決定する必要があります
どんな助けでも大歓迎です!