問題タブ [openid-provider]

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 に答える
1350 参照

oauth-2.0 - 自己発行の OpenID プロバイダーと OpenID プロバイダー

短くするには:

「自己発行の OpenID プロバイダー」は、「通常の OpenID プロバイダー」(Google としましょう) とどのように違いますか?

私はちょうど言う仕様を読みました:

"OpenID Connect は、自己発行の OpenID プロバイダー (自己署名 ID トークンを発行する個人用の自己ホスト型 OP) をサポートします。自己発行の OP は、特別な発行者識別子https://self-issued.meを使用します。"</p>

したがって、「自己発行の OpenID プロバイダー」を自分でホストできることを理解し、ID トークンに署名します。

「通常の OpenID プロバイダー」からのトークンは、信頼できる証明書で署名されており (たとえば、既に証明書ストアにあるルート CA 証明書によって署名されているため)、トークンを送信する必要なく検証できるという違いがあります。応答内の公開鍵?

最終的に誰かがこれを明確にすることができます。

よろしくお願いいたします。

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

java - App Engine での既存の OpenID Connect ID プロバイダーの実装はありますか?

Java の Google App Engine で OpenID Connect ID プロバイダー (IDP) を構築することを期待して、OpenID Connect ID プロバイダー (IDP) を調査しています。

調査または使用できる実装は既に存在しますか?

明確にするために、私はGoogle サインオンで認証していません。これはカスタムの認証方法になります。

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

oauth-2.0 - nonce が既に使用されている場合に出力される OAuth エラー コードは何ですか?

OAuth サーバー (Open ID Connect プロバイダーを含む) は、クライアント要求の が指定されている場合はそれをチェックnonceして、過去 5 分間に同じものが使用されていないことを確認する必要があります。

これはすべて理にかなっていますが、私の質問は単純です。ナンスが既に使用されていることがわかった場合、サーバーはを返しますか??error=...

Web、RFC、および一部の SDK コードで十数件の検索を行いましたが、エラーが返される場所とコードが何であるかを見つけることができません。

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

openid-connect - ユーザーが任意の OpenID Connect ID でログインできるのは、どの Web サイトですか?

私は OpenID Connect Provider (OP) を構築していますが、これまで試してみるための公開 Web サイトが見つかりませんでした。OpenID 1.1 と 2.0 のみをサポートし、OpenID Connect をサポートしない古き良き SO が古いライブラリ(レポは死んでいます) を使用していることを確認するためだけに、それを StackOverflow プロファイルに追加するつもりでした。また、http://openid.net/には、独自の適合性テストを除いて、そのようなサイトのリストがないようです。

私の OP をどこでプレイできるかについての考え、参照、または回答はありますか?

更新:より具体的にしようと思います。任意の OpenID でログインできる StackOverflow や LiveJournal などの Web サイトを探しています。OpenID.net の適合性テストを除いて、これを行うパブリック クライアントをまだ見つけていません。理想的なクライアントは、ID 文字列を WebFinger 呼び出しに変換し、プロバイダーのメタデータを取得し、プロバイダーに動的に登録し、最終的に認証を実行するための検出を実装します。

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

java - assoc_handle に基づいて OpenID 1.1 sig を生成するには?

Java で OpenID 1.1 プロバイダーを実装しましたが、さまざまな署名を使用するスマート クライアントで問題が発生していassoc_handleますassociate。正常に動作することに依存している愚かcheck_authenticationなクライアント。具体的には、LiveJournal に対してテストしていますが、次のように返されます。

signature_mismatch: 以前の関連付けが無効化された ID プロバイダーの応答。

HMAC()私の関数の本体は次のとおりです。

token_contentsfor の呼び出しは、HMAC()for の処理中に次のコードから取得されcheckid_setupます。つまり、署名が行われており、これは応答パラメーターmode,identity,return_toの値でもあります。signed

そして最後に、最初の呼び出しによって返されたsecretの base64 でデコードされたバージョンです(たとえば、仕様に従って取得されます)。適切に復号化できることを確認するために、かなりの量のテストを行いました。mac_keyassociatesecret(assoc_handle)enc_mac_key

何かご意見は?これに明らかに間違っていることはありますか?

または ... OpenID 1.1 を実行し、その手順を追跡できる、誰もが知っている単純なスタンドアロン クライアントはありますか。私が物事を別の方法で計算している場所を理解できるかもしれないことを考えると。

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

openid - 他の Web サイトの OpenID プロバイダーとして identityserver3 を使用する

私自身の ID サーバーを、stackoverflow.com などの他の有名な Web サイトの OpenID プロバイダーとして使用することは可能でしょうか。独自の ID プロバイダーを使用してサインアップできます ( https://stackoverflow.com/users/login?ssrc=head&returnurl=http%3a%2f%2fstackoverflow.com%2fを参照) - 「その他のログイン オプション」があります。 「OpenID エンドポイント アドレス」を入力できるボタン。

もちろん、私の質問は...それは機能しますか?
stackoverflow.com が期待するようなリンクは何ですか? それに関する情報は見つかりませんでした。

現在、すべてのアプリケーションには、ID サーバーとの通信に使用するクライアントがあります。ほとんどの場合、ハイブリッド フローを使用しています。それは私がよく知っていることです。他の Web サイトが私の ID サーバーを openid プロバイダーとして「信頼」したい場合、信頼できるクライアント <-> 関係なしにどのように機能しますか?

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

oauth-2.0 - OpenID Connect のリソース プロバイダー間でアクセス トークンはどのように区別されますか?

django-oidc-provider に基づく OpenID Connect (OIDC) プロバイダーの作成に取り組んでいます。私は OpenID Connect Spec を読んでいますが、アクセストークンが特定のアプリケーションに対してどのように一意であるかを理解できません。

ユーザー Bob の次の例を考えてみましょう。

Bob はアプリケーション A にログインしたいので、そのインターフェイスに移動し、OIDC プロバイダーにリダイレクトされます。認証後、彼は ID トークンとアクセス トークンを使用してアプリケーション A にリダイレクトされます (暗黙的なフロー)。次に、「/image/1」で、アクセス トークンを使用して A の API にリクエストを送信します。API はアクセス トークンを使用して OIDC プロバイダーにアクセスし、ユーザーの ID を Bob としてアサートします。API は、情報が存在すると仮定して、ユーザー Bob の "/image/1" にあるデータを返します。Bob は、後続の要求のためにアクセス トークンを A の API に送信し続けます。

次に、ボブは、アプリケーション B の API にアクセスすることにしました。彼は、A の API で使用したものと同じアクセス トークンを B の API に送信します。B の API はトークンを使用して OIDC プロバイダーにアクセスし、ユーザーの ID を Bob としてアサートします。B の API は、Bob に要求された情報を返します。

これが起こらないようにするものは何ですか?これには、少なくとも 2 つの解決策が考えられます。

  1. Google のトークン検証エンドポイントにアクセスすると、「aud」パラメーターが返されます。アプリケーション B の API は、トークンが独自の API に対して有効ではないことを判断するために、このパラメーターをチェックする必要がありますか?
  2. 「app-A-api」などのリソース プロバイダーに固有のトークンを要求する場合は、追加のスコープを追加する必要があります。次に、API がトークンを検証しているとき、API はトークンに必要なスコープが含まれていることを確認します。

これらの方法のうち、OIDC 仕様に準拠しているのはどれですか? 上記のいずれかを使用する必要がある場合、/userinfo エンドポイントで返される情報にその情報を追加するのではなく、スコープまたは aud を返す新しい /tokeninfo エンドポイントを追加する必要があると仮定して正しいでしょうか?

どんな入力でも大歓迎です。私の混乱の多くは、OIDC の例で、リソース プロバイダーへのアクセスを委任するために「スコープ」パラメーターが使用されていないことに起因していると思います。

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

php - Openid セットアップの不完全な問題

Janrain から openid connect を設定するときに、次の問題に直面しています。

テストするために、サーバーの次のフォルダーにあるサーバーにこれをアップロードしました。

サンプル フォルダー (/openid/examples/detect.php) から検出ファイルを実行すると、次のエラーが表示されます。

open_basedir が問題になる可能性があると考えたので、次のコードを public_html フォルダーの php.ini に追加しました。

どうすればこれを修正できますか?

また、この外部 codeigniter を別のプロバイダーとして使用しています。

ありがとう