クライアントのプロトタイプの作業を開始しようとしています-必要な機能の1つは、社内のユーザー認証/登録システムとの統合です。
このシステムは権限のあるユーザーデータベースとして機能し、新しいユーザーを作成し、有効なユーザーを認証するためのRESTfulインターフェイスを提供します。
WPで新しいユーザーを作成し、そのプロセスの一環として外部認証APIを呼び出して、そのユーザーを作成/検証する必要があります。
有効なユーザーであるがWPに知られていない人は、WPサイトに自分で登録する必要なく、ログインしてコメントできる必要があります。
Webサイト全体にログインしている人もWordPressに自動的にログインする必要があります。
私は次のことが進むべき道だと考えています。
(1)の場合-使用できる登録フックはありますか?
(2)-認証フィルターをフックすると仮定しています-つまり、誰かがログインしようとすると、私はそれをトラップし、外部システムに呼び出しを行い、WPログインを処理するか、登録プロセスにリダイレクトします1)エルを取る。
(3)の場合-メインサイトによって設定されたログインCookieを読み取り、(2)に進みますか?
ユーザーとusermetaテーブルにもレコードを挿入する必要があると思います。
だから、上記は理にかなっています-私は何かについて考えていませんか?誰もがこれを支援するための優れたリソースを手に入れました(@hakre-あなたはこれについていくつかの仕事をしたことがわかりました!!)。
更新
だから私はまだこれに少し頭を打ち続けている、本質的に私は認証フィルターにフックしようとしていて、それを使って:
- 「マスター」サイトのログインCookieが設定されているかどうかを確認し、設定されている場合、認証APIに対して再検証し、有効な場合
wp_signon()
、マスターサイトCookieに含まれる情報(電子メールおよびハッシュ化されたパスワード)を使用してWPログインを強制しますWPの資格情報として - Cookieが設定されていない場合は、マスターサイトのログインページにリダイレクトし、ログイン/サインアップを取得してから手順1に戻ります。
- 認証されたマスターサイトユーザーが存在するときにWPユーザーがいない場合は、作成してから「透明な」サインオンを作成します(つまり、ユーザーにWPログインフォームが表示されない)
基本的には、主にコメントするだけのユーザーに対してWPログインフォームを完全に非表示にし、後で作成者と管理者が直接アクセスできるようにする方法を見つけたいと思います。
それはかなりゆっくりと進んでいます、ここに私がいくつかの助けを使うことができるものがあります:
認証フィルターは正しいものですか?それは私が期待するすべての状況で呼び出されるようではありません-例えば、メタウィジェットは認証フックの起動なしでログイン/ログアウトリンクを表示します
オブジェクト
wp_signon()
を返すことができWP_User
ます(成功を示す)が、ログイン状態には影響しません。つまり、更新後もメタウィジェットは「ログイン」と表示されます。
ありがたいことに受け取った助け:)