問題タブ [phpcas]
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.
php - スクリプトを使用して CAS セッションを強制終了するにはどうすればよいですか?
CAS と phpCAS を使用して、PHP スクリプトと CAS の間のアクションを処理します。より高度な Web アプリケーションの 1 つでは、CAS は認証のみに使用され、セッション管理には使用されません。ログアウト スクリプト中に、特に CAS セッションを強制終了したいと考えています。ただし、ブラウザーで何らかのアクションが発生することなく、phpCAS をリモートで呼び出して CAS セッションを強制終了する方法を特定できません。
phpCASのドキュメントから:
phpCAS::logout()
ログアウト後、CAS サーバーはログアウト ページを出力します。phpCAS::logoutWithRedirectService($service)
ログアウト後、CAS サーバーはブラウザを指定された URL にリダイレクトします。
オプション #1 は、CAS ログアウト ページにリダイレクトします。オプション #2 は、特定の URL にリダイレクトします。どちらでもないオプションが必要です。
次のコード スニペットを検討してください。
ブラウザをどこかにリダイレクトする phpCAS のデフォルト アクションは、この機能を壊します。このスクリプトはブラウザーをリダイレクトすることはなく、非同期的に呼び出され、現在のビューを変更する ExtJS コールバックに変数が返されます。
この機能を実行できるようにするために、phpCASの有無にかかわらず、CASサーバーに強制的にセッションを終了させる方法を知っている人はいますか?
single-sign-on - phpCAS シングル サインアウトまたは認証の確認
アプリで phpCAS (v 1.3.2) を使用しています。ユーザーが他の参加 SSO アプリによってログアウトされているかどうかを判断するために、CAS サーバーに対して定期的なチェックを行いたいと考えていました。ただし、phpCAS::checkAuthentication() または phpCAS::forceAuthentication() を実行すると、他のアプリがすでにログアウトしていたり、CAS サーバーのログアウト URL/リンクで直接ログアウトしたりしても、常に認証済みが返されます。ローカル セッションがまだ存在していることが原因であることがわかりました。そのため、サーバーに対してチェックを行う必要はありません。このセッションを破棄するのは他のアプリの責任ですか?
もう 1 つの方法は完全に機能しています。つまり、自分のアプリ (w/c では phpCAS を使用) でログアウトすると、他の参加している sso アプリやサーバーのポータルでもログオフされます。ちなみに、私は CAS ライブラリが提供するすべての例を試しました。どれも機能しませんでした。
何が欠けていますか?
php - phpCASなしでCASレスポンスで属性を取得することは可能ですか?
いくつかのサイトで phpCAS を使用して CAS を使用しています。ユーザー名と、電子メールや表示名などのいくつかの属性を含む応答を返します。
したがって、以下はすべての属性 (氏名、電子メールなど) をエコーアウトします。
現在、ユーザーが phpCAS をインストールしなくてもプラグインとして共有できるように、phpCAS なしでこれを実行できるかどうかを確認しようとしています。
応答があり、ユーザーを認証できるので、基本的には機能しますが、応答でユーザー名しか取得できません。phpCAS なしでこれらの属性を取得するにはどうすればよいですか?
私が正しく理解していれば、これは、属性を取得するために必要な SAML の宣言に関係している可能性があります。
だから、おそらく私の質問は、phpCASなしでこれと同じことを達成する方法はありますか?
spring-security - phpCAS::isAuthenticated が別のサービスにログインした後に false を返す
ユーザー名とパスワードを GET パラメータとして受け入れるように CAS ログイン ページを構成しました。これらが指定されている場合は、ログイン フォームが自動的に送信されます。これは、Web サイトからの認証中に CAS ログイン ページに触れていないように見えます。
Web サイトはphpCASバージョン 1.3.2 を使用して CAS と通信しています。フォームから直接ログインすると、期待どおりに機能します。ブラウザーは CAS から正しくリダイレクトされ、isAuthenticated()
true を返します。ただし、事前に別のサービスにログインすると、isAuthenticated()
false が返されます。私が間違っていなければ、認証に問題がないかどうか CAS で実際のチェックを行う必要があるためです。したがって、 も試しましcheckAuthentication()
たが、次のエラーが発生します。
PHP コード:
checkAuthentication()
Proxy Granting Ticket の取得に失敗していることがわかりますが、その理由はわかりません。何か案は?のページもありますがforceAuthentication()
、問題なく動作します。
php - phpCAS と例を使用した不可能な SSL CAS 証明書。SSLサーバーの検証なしでのみ機能します
大学で行っているプロジェクトとの CAS 統合を行っています。最終的な統合は symfony2 で行う必要がありますが、最初にサンプル コードを機能させる必要があります。
私は最終的にexample_simple.phpの例をphpCAS 1.3.2で動作させますが、ディレクティブは次のとおりです。
有効なものです。代わりに使用する必要があると思います:
ただし、この 2 つ目を有効にすると (そしてもう 1 つを無効にすると)、認証が機能しなくなります。ログの関連する出力行エラーは次のとおりです。
cas サーバーから 2 つの .crt ファイルが提供されました。
- MYCASRootCA.crt
- MYCASLinuxSUBCA.crt
そして、それらは私のシステム(Ubuntu 13.10)にインストールされると想定されています。それらは /etc/ssl/certs/MYCASLinuxSUBCA.pem などの別の場所にありますが、次の場所もあります。
- /usr/share/ca-certificates/lut/MYCASRootCA.crt
- /usr/share/ca-certificates/lut/MYCASLinuxSUBCA.crt
したがって、変数 $cas_server_ca_cert_path にこれらの .crt ファイルまたは .pem ディレクトリ ( /usr/share/ca-certificates/lut/MYCASLinuxSUBCA.crtなど) のいずれかが必要であると仮定すると、それを機能させることはできません。私はそれを間違っていますか?クライアント サーバー (cas サーバーではない) はローカルホストにあります。それって問題ですか?setCasServerCACert コマンドの使用を避けるべきですか? なぜそれが起こっているのですか?
また、XAMP インストール (Xampp 1.8.3) によって提供される curl-ca-bundle.crt 証明書を使用しようとしました。
ご覧のとおり、証明書について少し迷っています。
https://github.com/Jasig/phpCAS/issues?state=openで、phpCAS と最近の Ubuntu バージョンの問題について読みました。ただし、認証がなくても(デフォルトで)マスターコードでこれを機能させることはできません。
どんなアイデアでも大歓迎です...