web-dev-qa-db-ja.com

OAuth 2と認証済みユーザーの保存

私はかなり独特のシナリオがあります。

私は1つのWordPressサイト(サイトA)を持っています。ここには登録したユーザーがたくさんいます。そして、s2memberプラグインを使ってこれらのメンバーを購読して、Webサイトの一部にアクセスできるようにします。

ユーザーが個別に購読する必要がある他の製品をリリースしたいのですが、s2memberプラグインの制限により、1人のユーザーに同時に2つの購読をすることはできません。

私は別のWordPressサイト(サイトB)(それ自身のs2memberのインスタンスを持つ)を作成し、製品にアクセスするための追加購読のためにそこにユーザーを登録させる必要があるという結論に至りました。

私の目的は、2つのWordpressサイト間を行き来するプロセスをできるだけ簡単にし、サイトBに再登録する必要性を排除することです。人々にサイトAに登録してもらい、サイトBにログインできるようにします。サイトAからのログイン情報.

私はWPMUDevのUser Syncプラグインを見ましたが、これに関する問題はそれが私が望まない他のすべてと同様にユーザのためにs2memberデータのすべてを引っ張るということです。

そこで、サイトAをOAuthプロバイダとして使用し、サイトBで認証することを検討し始めました。これで作業が完了し、ログインセッションを作成してサイトBのすべてのユーザーの詳細情報(もちろん機密情報は除く)を取得できます。 。

これは、サイトBで新しく認証されたユーザーにs2memberプロファイルを提供する必要があり、その結果、彼らが私の新製品を購読できるようになるまで、非常に有望視されています。サイトBのユーザーとして正式に登録されていない限り、これを行うことはできません。また、サイトAのパスワードでユーザーを登録することはできません。1)その情報をHTTP(またはHTTPS)で送信したくない。 2)サイトAでパスワードを更新しても、サイトBでは更新されません。

これは私の百万ドルの質問に私をもたらします:彼らはサイトAで認証されたら、どのようにあなたは私のサイトBにパスワードなしでユーザーを登録/保存しますか?

あなたが私が説明した状況で他の可能性を見るならば、私は提案を受け入れる用意があります。

ありがとう。

1
Ash Thornton

人生を困難にすることを主張しているようです。どんな種類のAPIを実装しても、開発者にとってエラーが発生しやすく、ネットワークエラー、バグなどが原因でリアルタイム同期が失敗する可能性があります。そのようなオプションを選択する前に、私は非常に躊躇します。

いくつかの理由でネットワークを使用するのがおそらく最善の選択肢ですが、あなたがそれがあなたのニーズに合わないと感じるならば、あなたの他の最良の選択肢は関連情報を得るために単にサイトAのDBに直接接続することです。ある意味でそれはAPIのアイデアのバリエーションですが、それはデータのための唯一の信頼できる情報源を持っていて、あなたが情報を検索するために戦闘テストされたプロトコルを使用するので.

0
Mark Kaplun