外部アプリからセッションの整合性を検証できる必要があります。セッションがwordpressのどこに保存されているかわかりませんか?
セッショントークンをヘッダーとして受け取る安らかなアプリを作成し、そのセッションに関連付けられたユーザーをロードできるようにしたいと思います。それは可能ですか?私はそれがあると確信しています、私はただどこにも見つけることができません。私はコードを検索しようとしましたが、すぐに迷子になります。
WordPressがCookieを保存する方法(@birgireが述べているように、クライアントサイド): https://codex.wordpress.org/WordPress_Cookies
Cookieドメインは通常WordPressのsiteurl
に完全修飾されているので、これは別のサブドメインではうまくいかないと思います(誰かが私を直しても構いません)。
same ドメイン上の別のアプリでそれをやっていたのなら、wp-includes/pluggable.php
を見て、ユーザーのデータベースレコードからハッシュを生成してチェックするwp_validate_auth_cookie()
関数($_COOKIES
内)を利用する必要があります。クッキーと一致する場合もしそうなら、あなたは彼らのユーザーIDを取り戻します。
WordPressのセッションはあなたのPHP設定に従って、デフォルトではあなたのファイルシステムに保存されます。 session.save_path 設定については、 PHP.ini ファイルを調べてください。ユーザーがログインしない限り、WordPressはセッションを作成しません。
あなたの "外部の"アプリが同じサーバー上にあり、PHPと同じ動作をしていると仮定すると、あなたは単に同じセッションを開くことができます:
session_id($session_token);
session_start();