web-dev-qa-db-ja.com

セッションデータを使用してユーザーをやり取りする方法

私が作成したアプリケーションには、SAMLを使用し、次にユーザーデータベースを使用して、それらすべてに対する権限を定義しています。そして、基本的にユーザーが私たちのSSOを通してサインオンすると、彼らは彼らの定義された権限でアプリケーションを使用することができます。

WPについても同じことをしたい。どこから始めますか?ログインする前にWPに自分のセッションのユーザー名を認識させてから、ワードプレスのCookieを作成してください。私は他のwpサイトにユーザー情報を渡すルートクッキープラグインを見ましたが、セッションユーザー名を最初に取得するのはどうですか?

ユーザにWPサイトにアクセスしてもらい、彼らが自分のユーザ名でログインしていることを確認したいのですが、他の方法でもオープンです。

今のところSAML認証について私に与えられているのは以下のとおりです。

  • アプリのURL:SSOにリダイレクトする
  • アプリキー:暗号化するハッシュ
  • uID
  • ファーストネーム
  • 苗字
  • eメール
  • 時間(POST時間は検証に使用されます)

注:WP用にSAML2プラグインを使用してみました。まず、それはベータ版のプラグインで、とても混乱します。次に、IDP情報が見つからないという致命的なエラーが出続けます。

私はそれを使用している人にログを持っていれば本当にセッションを利用したいと思いますか。

6
STing

私はリンクされている 本当に簡単なスクリプトを持っていますhttps://wordpress.stackexchange.com/questions/154802/what-do-i-need-to-do-to-fully-integrate- - カスタムセッション - ログイン - wp

基本的に、私はあなたのSSOが安全であること、あなたがあなたのデータベースにユーザを持っていること、そして認証以外にセッションを生き続ける必要はないと仮定しています。私の観点からは、私は単にWPにユーザーを渡して、WPユーザーシステムに残りをさせたいだけです。これが他の人がセッションログインをするのに役立つことを願っています。

0
STing

もしあなたがセッションを操作するのであれば、まずあなたのプラグインテーマでこれを始めてください。

add_action( 'init', 'my_start_session' );

function my_start_session() {

    if ( session_id() )
        return;

    @session_cache_limiter('private, must-revalidate'); //private_no_expire
    @session_cache_expire(0);
    @session_start();
}

代わりにEric Mannのライブラリを使用してください。 WPセッションマネージャ 、また彼の チュートリアル .

2
bueltge