問題タブ [pkce]

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 投票する
3 に答える
3902 参照

identityserver4 - IdentityServer4 PKCE エラー: 「変換されたコード検証ツールがコード チャレンジと一致しません」

Postman を使用して IdentityServer4 PKCE 認証を機能させることができません。

オンライン ツールを使用して、必要なパーツを作成します。

ランダムな文字列を選択してください:

1234567890

その SHA-256 ハッシュを取得します。

c775e7b757ede630cd0aa1113bd102661ab38829ca52a6422ab782862f268646

Base64 でハッシュをエンコードして、コード チャレンジを取得します。

Yzc3NWU3Yjc1N2VkZTYzMGNkMGFhMTExM2JkmTAyNjYxYWIzoDgyOWNhNTJhNjQyMmFiNzgyODYyZjI2ODY0Ng==

ブラウザーで次の URL に移動し、資格情報を入力して、フラグメント化されたリダイレクト URL からコードを取得します。

コードをトークンに引き換えるとき、code_verifier (SHA-256 ハッシュ) を渡しますが、IdentityServer は次のエラーをログに記録します。

「変換されたコード検証ツールがコード チャレンジと一致しません」。

ブログ投稿で、著者は次のコードを使用してパーツを生成しています。

ToCodeChallengeメソッドのリポジトリにコードが見つかりません。

手動で生成したチャレンジが検証プロセスで使用したチャレンジと一致しないのはなぜですか?何が欠けていますか?

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

spring - Spring Security OAuth プロバイダーで PKCE 認証コードを実装するには?

組織内のすべての登録済みクライアントにシングル サインオンを提供する Spring Security 機能を使用して実装された、動作中の承認サーバーとリソース サーバーがあります。

次の付与タイプをサポートしています。

  • Web アプリケーションの認証コード
  • パスワード
  • 暗黙

現在、私たちの新製品の 1 つは、React を使用して構築された単一ページ アプリケーションです。カスタム認証サーバーからアクセストークンを認証して付与するために、Spring プロジェクトを強化して PKCE 付与タイプをサポートし、既存の機能が壊れないようにします。

アーティファクト「spring-security-oauth2-core」の最新のSpring Security 5クラスを使用する必要があることはわかっていますが、そもそもそれに関するドキュメントやサンプルコード例を見つけることができません。どんな指針も大いに役立ちます。

0 投票する
3 に答える
12054 参照

javascript - PKCE を使用した OAuth 承認フローで使用する場合に、Azure アプリの登録で CORS を有効にする方法を教えてください。

PKCE による OAuth 承認フローを使用して Azure からアクセス トークンを取得しようとする純粋な Javascript アプリがあります。

アプリは Azure でホストされていません。私は Azure を OAuth 認証サーバーとしてのみ使用しています。

Azure では、アプリ登録しかありません (アプリ サービスではありません)。

Azure アプリの登録

認証コードを取得する最初のステップは機能します。

しかし、アクセス トークンを取得するための POST は失敗します。(写真はこちらから)

PKCE を使用した OAuth 承認コード フロー

オリジン ' http://localhost:8080 ' からの ' https://login.microsoftonline.com/ {tenant-id}/oauth2/v2.0/token'での XMLHttpRequest へのアクセスは、CORS ポリシーによってブロックされました: No 'Access -Control-Allow-Origin' ヘッダーが要求されたリソースに存在します。

アプリ登録の CORS ポリシーは、Azure のどこで構成しますか?

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

vuejs2 - Laravel 6 Passport を使用した Vue SPA

バックグラウンド:認証に関して私が持っている唯一の経験は、通常のフォームベースのログイン、通常のユーザー名、およびリダイレクトを使用したコントローラーへのパスワード、または通常のログインでの JWT の使用です。同じことを達成するために Laravel Passport を使用したいと思います。

Laravel Passport (Laravel 6x with Dingo API) で Vue を使用して SAAS アプリを作成する必要があります。

アプリは、役割と権限を持つマルチユーザーである必要があります。

最良の方法は、SPA に「PKCE を使用した認証コード付与」を使用することであると読みました。

私が遭遇した問題は、Vue アプリがコード チャレンジなどを設定することです。認証コードを要求すると、Laravel ログイン ページに誘導されますが、ログインするとすぐに次の画面が表示されます。

認可リクエスト

これをバイパスする方法はありますか?(skipsAuthorization でカスタム クライアントを使用してみましたが、うまくいかないようです) 正しい OAuth フローを使用していますか?

Laravel Passport のドキュメントには、次のような記述があります。

Password Grant Client: これにはシークレットが必要ですが、これをどのように使用できるかわかりません。Implicit Grant Tokens: これは現在推奨されておらず、使用しないでください。

個人用アクセストークンのみが残ります。しかし、それは正しい「流れ」ですか?