質問: 現在ウェブ予約サイトを制作しています。 Aサイト:店のスタッフが入力する顧客管理サイト(フルスクラッチにて制作) Bサイト:店に来店するユーザーがみて予約するサイト(WordPressのプラグインにて制作。HPに組み込んでいる) 店のスタッフ・顧客が入力する情報は下記です。 ・希望担当者 ・予約日時 ・希望メニュー ・名前 ・電話番号 ・メールアドレス これらの情報を、Aサイト・Bサイトで同期したいです。 また、Aサイト・Bサイトは別のサーバーでDBも異なります。 アカウントを共有するのであれば、 ・OAuthなど標準的なユーザー共有のapiを利用する ・各サイトのユーザー情報を管理するDBにおなじものを使う (たとえばBサイトのユーザー管理テーブルをAサイトに問い合わせるなど) ・セキュリティや煩雑さをさけるため、そもそもユーザー情報の共有など行わず それぞれのサイトごとに管理する とのことで教えていただいたのですが、 本当にどう形にしたら良いのかわからないレベルです。 もし、具体的に解決方法をご教示いただける方がいらっしゃればありがたいです。 何卒、宜しくお願いいたします。
回答: > > OAuthなど標準的なユーザー共有のapiを利用する > > > 一般に OAuth というと、facebook,twitterのSNSアカウント連携といった 使用する側の OAuth Apiをイメージされるかもしれませんが、色々問題があるかと。 ・そのSNSアカウントを持っていないユーザはどうするか ・アカウントを持っていても、連携に使用したくない人はどうするか ・お店のスタッフさんはユーザのアカウントを把握できるのか もし facebook,twitterが提供しているようなアカウント連携の 仕組みを一から作るという意味であれば難易度が高く開発コストも高くなります。 ※厳密に言うとOAuthはアカウント共有の仕組みではないのですが。。長くなるので省略 > > 各サイトのユーザー情報を管理するDBにおなじものを使う > > (たとえばBサイトのユーザー管理テーブルをAサイトに問い合わせるなど) > > > これが一番現実的。例えばですが、 ユーザ&予約管理テーブルをAサイトに寄せてBサイトからそのDBに問い合わせるようにします。 BサイトWordPressのプラグインをやめ、予約画面のformタグのaction属性をAサイトに向けて Bサイトから入力データをAサイトに送信し、Aサイト側のプログラムでユーザ&予約情報の追加編集を行います > > セキュリティや煩雑さをさけるため、そもそもユーザー情報の共有など行わず > > それぞれのサイトごとに管理する > > > 共有を避け、ユーザー情報のインポート/エクスポートプログラムを用意するなどの方法はあります。 ただ、ユーザーが重複したり、新機能が増えると上記のプログラムも修正が必要になったりと ユーザー数が多くなればなるほど、保守管理コストが高くなっていきます。 以上ですが、回答になっていますでしょうか。