お客様のために、カスタムauthsourceモジュールを作成する必要があります。私はすでにLDAP、SQLauthなどのさまざまなauthsourcesを使ってIdpとしてSimpleSAMLphpを設定しています。これらのauthsourcesはすべて共通してログインフォームを使用し、sspmod_core_Auth_UserPassBase
クラスに対して認証します。SimpleSAMLphpパスワードなしのカスタムauthsource
SAMLのインストール(IDP)が企業ネットワーク内にある:これは、次は右ここなど、ユーザー名とパスワードの特殊なケース
ログインフォームが存在することを意味します。そのネットワークの内部/ ADを介して認証されたユーザーがそのネットワーク内のホストにアクセスすると、ユーザー名は自動的にブラウザに挿入され、$_SERVER['PHP_AUTH_USER']
で利用可能になります。 。
これは、ユーザーをもう「認証」する必要がないことを意味します。ログインフォームを表示する必要はなく、認証されたユーザーとしてマークするだけで済みます。
私の理解のために、デフォルトのUserPassBase
クラスを拡張する独自のauthsourceを作成するには、少しばかり使いすぎるので、ちょっと立ち往生しました。私は空のパスワードを処理し、自動的にログインフォームなどから転送/ポストする必要があります。
私はそれを処理するより良い方法があると思います。流れはかなりシンプルになります:
SPはIdPにリダイレクトされます。 IdPの「ログインページ」はPHP_AUTH_USER
(ログインフォームのような出力はありません)と読み、ユーザーが(それ以上のチェックなしで)認証し、ユーザーが正しく検出された場合は期待どおりにリダイレクトします。 PHP_AUTH_USER
が見つからない場合、ユーザーは何らかのエラーページにリダイレクトされます。
どのように正しい方法を解決するためのアイデアですか?私はベースSimpleSAML_Auth_Source
クラスを拡張する私自身の全く新しいauthsourceクラスを書く必要があると思いますか?たぶん誰かがその状況のための例を持って、私は車輪を再発明しようとしているのだろうか?
まったく!ありがとうございました! – Marco