私は実際のWordPressログインの代わりとして外部認証システムを結合しようとしていますが、私がこの問題について調べた多くのチュートリアルとスレッドによると、この外部認証システムは少し変わっています。
私の使っている認証システムでは、自分のログインフィールドと検証をホストする自分のログインページにiframeを配置する必要があるので、パスワードの紛失、新しいユーザーの登録(認証システムへの登録)、間違ったユーザー名/パスワードについて心配しないでください。 。ユーザーが正しければ、私の設定したページにリダイレクトされ、そこにユーザーデータ(ユーザー名、名前、電子メールアドレス)とともにURLエンコード暗号化XMLをGETで送信します。 )パスワードは送信されません。私の側でこのXMLを受け取ると、にユーザーデータを抽出するために必要なプロセスを実行します。これには、前述のユーザーデータを含むObjectが含まれます。
さて、これまでのところ私は自分のログインページをiframeで作成し、receiveおよびXMLを処理します。私は何をすべきかわからないのは、物事のWordPress側でこのオブジェクトからログイン関数にデータを渡すことです。
私はWordPressの組み込みログインフォームを変更することを含む多くのチュートリアルを見ました。それはこの動作をさせるためにユーザー/パスワードスキームを使用します、しかし私はそれを行うことができません。このプロセスを簡単にするために、外部データベースへのno accessおよびno APIがあります。
ユーザー/パスワード方式の使用を必要としない認証を処理する機能はありますか?または少なくともパスワードを使用せずににログインできるようにする関数?
ユーザーを接続するには、次のようなコードが必要です。
$args = array(
// args for searching the user
);
$wp_user_search = new \WP_User_Query($args);
$items = $wp_user_search->get_results();
$user = array_pop($items);
// connecting the user
wp_set_auth_cookie(
$user->ID
, TRUE // $remember
);
// redirect to admin root
wp_redirect(admin_url("/"));
exit();