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

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

node.js - 携帯電話番号とセキュリティ PIN の新しい交換ポリシーを oauth2orize に実装する方法

カスタム交換ポリシーを実装する方法。

クライアントのパスワード戦略のように、携帯電話番号とセキュリティ PIN のトークンを生成したい

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

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 が存在することに注意してください):

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

javascript - OAuth2 の基本戦略とパスワード grant_type

BasicStrategy と grant_type=password を使用して oauth2orize を使用してアプリケーションを開発していますが、コードのこの部分に問題があります。

このコード (git の例から取得) では、クライアントの資格情報とユーザーの資格情報 (ユーザー名 + クライアント ID、クライアント シークレットを含むユーザーパスワード) の同等性をテストします。

これは、クライアント アプリケーションごとに 1 人のユーザーしか持てないことを意味します。

アプリケーションごとにユーザーを 1 人だけにしたくありません。実際、多くのユーザーが同じアプリケーションに (資格情報レベルで) 接続したり、コンテンツを共有したりできます...

この戦略でこれを実装する方法がわかりませんか?

「申請」という用語に関して、私はその過程で何かを誤解していると思います...

0 投票する
2 に答える
984 参照

node.js - 独自の oauth2 サーバーと api サーバーを実装する

oauth 2 サーバーと api サーバーを実装しようとしています (どちらも別のサーバーです)。(すべてnodejsを使用)

ここに画像の説明を入力

https://github.com/FrankHassanabad/Oauth2orizeRecipes認証コード フローを使用しています

oauthサーバーに新しいvalidateToken関数を記述し、API側からヒットしてそのユーザーのみを認証する必要がありますか。

ユーザーとロールを oauth 側に保持することを考えていますが、API 呼び出し応答を行う前に API 側でそれらを確認する必要があります。

認証目的だけでなく、cms やモバイルアプリにも使用しようとしています。私たちは正しい道を進んでいますか、それとも何かが欠けていますか。

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

node.js - パスポートと OAuth の違いは何ですか?

Express.js を使用して認証サービスを構築しようとしていますが、認証モジュールのアイデアがまだわかりません。

パスポートとoauthミドルウェアの違いは何ですか? 彼らはお互いに依存していますか?BearerStrategy 検証へのトークンを生成するための oauth サーバーなしで BearerStrategy を使用するのは無意味ですか? 私は正しい道を進んでいますか?

oAuth2 とその認証フローについて読んだことがありますが、この結合されていないコードでまだ迷っています。

バックエンド API と通信する AngularJS フロントエンドの更新トークンを使用してリソース所有者パスワード認証を構築しようとしていますが、反対側で oauth2orize を使用した password.js 戦略 (基本、ベアラー、ClientPassword) の多くの組み合わせに直面しています。 .

そこで、NodeJS で認証がどのように機能するかについて、非常に簡単な説明を知りたいと思います。Express が認証の仕組みの新しい方法を発明しているわけではないことは本当にわかっていますが、モジュールがあまりにも目立たないため、それらが連携して機能するためにどのように機能するかの基本を理解する必要があります。

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

node.js - hapijs で oauth2orize を実装する方法

hapijs に oauth2orize を実装しました。しかし、API を呼び出しても何も起こりません。関数は oauth2orize モジュールの code.js ファイル内に入り、その間でハングします。hapjs で oauth2orize を実装する方法を教えてください。hapi-oauth2orize も、移民および hapi-oauth2orize プラグインがオプション エラーをスローするため機能しません。

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

node.js - SPA ロード中に JWT id_token を確認して更新する方法を教えてください。

私はかなり初心者で、フローの一部 (またはどのベスト プラクティスを使用すべきか) を理解するのに苦労していますOAuth 2.0...OpenID Connect

長い投稿で申し訳ありません:)

私のセットアップ:

  1. ( OPOpenID プロバイダー) は、基本的にと を使用してユーザーを認証および承認するexpressサーバーです。呼びましょうoauth2orize-openidpassporthttp://authserver.com

  2. my に対してユーザーを認証する必要があるSingle page application(react+webpack) 、それをOP呼び出しましょうhttp://my-spa.com

これはSPA(webpackによって静的に提供される)なので、使用する必要がありますImplicit Flow

私の質問

ユーザーが に移動すると、アプリケーションがロードされ、 が存在するかどうかhttp://my-spa.comがチェックされます。localStorageid_token

いいえid_tokenオンlocalStorageロード:

  1. トークンがないので、リダイレクトしますhttp://authserver.com/dialog/authorize
    • response_type=id_token
    • scope=openid profile
  2. ユーザーが正常に認証および承認されると、URI フラグメント内のにauthserverリダイレクトされますmy-spaid_token
  3. に保存するid_tokenlocalStorage、ユーザーはアプリの使用を開始できます。

ロード中id_tokenですlocalStorage

ユーザーがブラウザを閉じて、再度開きました。これは、私が何をすべきかを理解するのに苦労しているところです。(以前のログインからの) トークンが既に存在するため、それが有効かどうかを確認する必要があります。

そのためのベストプラクティスは何ですか? これが私が正しいと思うものです:

  1. を使用するようにリダイレクトhttp://authserver.com/dialog/authorize:
    • prompt=none
    • id_token_hint=CURRENT_TOKEN
  2. 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 から呼び出したユーザーを知る必要がある場合は、次の手順を実行する必要があります。

  1. をトークンとして各 ajax リクエストにid_token追加しますBearer
  2. my-service.comJWT署名を(公開鍵で?)検証し、保護されたリソースへのアクセスを許可するか拒否するかを決定する必要があります

どんな助けでも大歓迎です!