問題タブ [single-sign-on]
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.
authentication - 正誤問題:クロスドメインSSOには常にサードパーティのIDプロバイダーが必要
私は現在、別々のドメインに住んでいるいくつかのウェブサイトを持っています:
www.app1.com
www.app2.com
www.app3.com
それぞれに独自の認証メカニズムがあります。Webサービスを介してActiveDirectoryにクエリを実行するものもあれば、独自のユーザーデータベースを使用するものもあります。
目標は、ユーザーがドメイン間でページにアクセスするときにパスワードを再入力する必要のないテクノロジーまたは製品を介してシングルサインオンを使用することです。
質問:SAMLを確認すると、クロスドメインSSOソリューションでは、ユーザーを認証するために常にサードパーティのIDプロバイダーが必要になるようです。例:
www.my-master-login.com
これは本当ですか?
その場合、認証がサードパーティのサイトによって処理されるように、既存の各Webサイトを更新する必要がありますか?
java - カスタム サーブレットからの Kerberos 認証は?
以下の手順を実行して、ブラウザーからシングル サインオン認証用のセキュリティ トークンを取得します。
http ヘッダーからトークンを見つけることができます。私の質問は次のとおりです: a) このトークンを Active Directory で検証するにはどうすればよいですか? b) このトークンからユーザー名を見つけるにはどうすればよいですか?
グーグルで調べていると、Java APIには、私が期待していたことを行うためのKerberos5ログインモジュールがあるようです。しかし、ほとんどすべてのページに単純な例がありません。
- Web クライアントは、GET 要求で AS Java リソースにアクセスします。
- AS Java は、HTTP ヘッダー "WWW-Authenticate" を "Negotiate" に設定して SPNego 認証を開始する要求とともに、401 応答コード (無許可) を返します。
- Web クライアントは、AS Java ホストが Kerberos レルムのメンバーであることを認識し、KDC から AS Java の Kerberos クライアント/サーバー セッション チケットを取得します。
- 次に、Web クライアントは、Kerberos クライアント/サーバー セッション チケットを AS Java に送信し、HTTP 認証ヘッダーで SPNego トークンとしてラップします。
- SPNegoLoginModule は、HTTP 要求からトークンを読み取り、それを JDK の Kerberos 実装にフィードします。
- その結果、クライアント認証が成功するか、クライアント要求が拒否された場合や KDC への別のラウンドトリップが必要な場合に失敗します。障害が発生した場合、AS Java の Kerberos JDK 実装は、出力トークンを生成して Web クライアントに送り返します。出力トークンは SPNego トークンとしてラップされ、HTTP 認証ヘッダーで送信されます。
どんな助けでも大歓迎です。
session - Jetty で JSESSIONID セッション Cookie ドメインのドメインを変更するシングル サインオンのサポート
JETTY でシングル サインオンをサポートしようとしています。Jetty の SSO サポートを通じてシングル サインオンをサポートする Web サーバーを実行している 2 つのサブドメインがあります。
account.test.com app.test.com
*.test.com に設定された SSOSession Cookie がありますが、サインオフをサポートするには、app.test.com で実行されている Jetty サーバーで JSESSIONID Cookie がリセットされていることを確認する必要があります。
現在、Jetty JAAS FormAuthenticator を使用し、SSORealm をオーバーライドして、FormAuthenticator が呼び出されたときに SSOSession Cookie の検証をサポートしています。
account.test.com でユーザーがサインインできるようにしたいと考えています。これにより、app.test.com で使用されている JSESSIONID Cookie が無効になります。
おそらくより正確な解決策の 1 つは、SSOSession Cookie の変更を検出し、サーバー上の JSESSIONID を無効にすることです。
wcf - WCFはWindowsクライアントからADログインを渡し、WCFサーバーで正しいことを検証します
私が作成した新しい WCF アプリケーションを呼び出す winforms でアプリケーションを作成したいと考えています。WCF 側のアプリケーションが検証できるように、WCF 側に渡すことができるように、現在の Windows ログイン資格情報を渡す必要があります。良いユーザーであること。シングル サインインを有効にするには、これが必要です。
api - Google Provisioning API と SSO パスワードの変更の伝播に関する質問
Google Apps Provisioning API を使用して、ユーザー データを内部データベース (MySQL) と同期しています。サイトのバックエンドを通じて作成された新しいユーザーごとに、対応するユーザーが GoogApp システムで作成されます。変更はパスワードもそれに応じて同期されます。
SSO を実装しようとしています。これにより、Web サイトで実行されたログインにより、ユーザーが自動的に Google アプリにもログインできるようになります。
私の質問は、ユーザーが自分のバックエンドではなく、googapps インターフェースの[アカウント] > [設定]を使用してパスワードを変更した場合、どうなりますか? 私たちのシステムは変更を知る方法がありません! Prov API または SSOで googapp エンジンのパスワード変更メカニズムをオフにして、ユーザーがバックエンド経由でのみ変更できるようにする方法はありますか?
同様のシステムを使用/セットアップしたことがある人は、それに光を当ててください。
ありがとう、m^e
sharepoint - SharePoint でコードを使用して SSO 資格情報を取得できない
次のコードは、カスタム Web パーツで使用されていますが、何らかの理由で、ページで最初に実行されたときにのみ機能します。その後、SingleSignonCredsNotFoundException をスローします。
この問題を解決する方法についてのヘルプや提案は大歓迎です。
php - 内部 PHP アプリに Microsoft AD を使用してシングル サインオン (SSO) を実装するにはどうすればよいですか?
ドメインに参加しているコンピューターでは、アプリケーションに自動的にサインオンするために使用できる追加のヘッダーを送信するように IE に要求できることを漠然と認識しています。mod_phpを使用してWindowsサーバーでApacheを実行しています。必要に応じてユーザーがログインする必要がないようにしたいと思います。Kerberos および Apache モジュールについて話しているリンクをいくつか見つけました。
http://www.onlamp.com/pub/a/onlamp/2003/09/11/kerberos.html?page=last https://metacpan.org/pod/Apache2::AuthenNTLM
私は Windows で実行しているので、Perl または Apache モジュールをインストールするのは簡単ではないことが証明されています。しかし、PHP はすでに HTTP ヘッダーにアクセスできないのでしょうか?
これを見つけましたが、認証は行われません。PHP が NTLM ヘッダーを読み取れることを示しているだけです。 http://siphon9.net/loune/2007/10/simple-lightweight-ntlm-in-php/
ユーザーがアプリケーションを指すだけで、自動的に認証されるようにしたいと考えています。誰かがこれを経験したことがありますか、それともまったく機能しませんか?
UPDATE 最初にこの質問を投稿して以来、セットアップをnginxに変更し、php-fcgiはまだWindowsで実行されています。Windows での Apache2 と php-cgi は、おそらく Windows で構成できる最も遅いセットアップの 1 つです。Apacheがまだ必要なようです(php-fcgiで動作します)が、nginxソリューションを好みます。
また、なぜHTTPサーバープラグインが必要なのか、PHPやWebサーバーに依存しないソリューションを用意できないのか、まだ理解していません(そして教育を受けたいと思っています)。
weblogic - SAML 2 SSO と ID プロバイダを使用するように WebLogic 10.3 Web アプリケーションを構成するにはどうすればよいですか?
いくつかの Web アプリケーションをすべて WebLogic 10 で実行しており、SSO と WebLogic の組み込み SAML 2 SSO サポートを使用してユーザーを認証したいと考えています。
セキュリティ レルムで SAML2IdentityAsserter を構成し、以前にセットアップした ID プロバイダーからのメタデータを使用する Web SSO ID プロバイダー パートナーを作成しました。それはすべてうまくいったように見えました。
このレルムを使用するように構成された、テスト用に使用している単純な Web アプリをデプロイしました。ただし、Web アプリにログインしようとすると、ID プロバイダーを使用しようとさえしないようです。BASIC と CLIENT-CERT の両方に設定しましたが、どちらも SAM2IdentityAsserter が設定されていないかのように動作しました。アサーターの順序を変更して遊んで、デフォルトのアサーターを削除しようとしましたが、どれも違いはありませんでした。WLS 10.3でこれを成功させた人はいますか?
oracle - 特定のアプリケーションにのみOracleDBログインを許可しますか?
独自のアプリケーションを介してのみユーザーにDBアクセス(Oracle)を許可したいと考えています。これを「ourTool.exe」と呼び、ユーザーのコンピューターにローカルにインストールします。現在、ユーザーは「ourTool」を起動するたびにユーザー名/パスワードを入力する必要があります。提供されたパスワードパスワードは復号化され、username/decrypted-passwordを使用して最終的にOracleDBにログインします。このアプローチにより、ユーザーはサードパーティのツール(SQLplus、Excel、Accessなど)を使用してDBに直接アクセスできなくなり、DB内のすべてが「ourTool」を使用して入力/編集されたことが保証されます。
現在、クライアントの1人が、ユーザーに「シングルサインオン」(SmartCards / Oracle PKIを使用)を許可したいと考えています。これにより、ユーザーは「ourTool」を起動するたびにパスワードを入力しなくてもDBに接続できるようになります。ただし、SQLplus、Excel、Accessなどの潜在的に危険なツールについても同じことが言えます。
これを防ぐ方法はありますか?このシナリオでは、DB内のすべてのレコードが「ourTool」を使用してのみ作成/編集/削除されるようにするにはどうすればよいですか?
asp.net - NTLM/Windows 認証と GetAllUsers()
イントラネットで使用する Web アプリを設計しているので、Windows 認証モードが理想的です。ただし、アプリの一部には、ユーザーのリストを取得する機能が必要です (割り当てのためにユーザーを選択するためです。Membership.GetAllUsers() は、Windows 認証では (単独で) 適用されません。ActiveDirectoryMembershipProvider は使用できません。バインドする資格情報を保存することは許可されないため、AD アクセスは認証されたユーザーとして行う必要があります。
私はこれに対する明確な例や解決策を何週間も何度も探しましたが、世界中の誰も同じ問題を抱えていないと思い始めています。
Application_AuthenticateRequest を使用し、「メンバーシップ」の 2 つの世界を「Windows 認証」に接続する唯一のオプションはありますか? しかし、アプリの他の場所にある「すべての」ユーザーのリストを取得するにはどうすればよいでしょうか? 呼び出し元のユーザーになりすます ActiveDirectoryMembershipProvider はありますか?