次のシナリオのベストプラクティスを理解することを検討しています。私は比較的新しい/趣味のプログラマーです。 Dialogflowを使用しているチャットボットを開発中です。私は、ユーザがバックアップされたデータベースのデータや情報にアクセスできるようにするために、さまざまなメッセージングアプリを使用できるようにしたいと考えていますが、ユーザを認証する必要があります(関連するデータを照会するには、私はまた、ユーザーがアカウントとログインを作成できるWebサイトを持っています。異なるアクセス方法のExpress OAuth認証
私はウェブサイトを作成しました。すべてのOAuth接続が正常に動作しています。私はユーザーを追跡するためにアカウント作成に関する情報を保存しています。
私は、メッセージングプラットフォーム上のユーザーをデータベース上のアカウント(トークン/単純なプロファイル識別子など)にリンクするために認証できるようにしたいと考えています。
OAuthのフローとルーティングに関するアドバイスを探しています。私はExpressを使用しています。のは、一例として、Googleアカウントのリンクを使用してみましょう:/アクセスアカウントを作成するための
一つの方法:
ウェブサイト - >新規アカウント/ログイン - > Googleに送信 - >アイデンティティの確認 - コールバックに>戻る(内ウェブサイトの保護された領域)。
アカウントにアクセスするための別の方法:
DialogFlowチャットを - >(私は保護され、このルートを持ちたい)ウェブフックに送る - >クエリーデータ - - >認証/ユーザーを認識する>ユーザーのデバイスに情報を返します。このプロセスでは、Webサイトプロセスと同じフローにアクセスする必要があります。今のように私のコールバックはいつも私のウェブサイトの内部ページを参照しています。しかし、ユーザーがGoogle Assistantを使って情報にアクセスしようとしているのであれば、私はそれが欲しいとは思わないでしょう。
は最高/より良いプラクティスですへ:
- ルート条件文を経由して別のフローを処理?
- 同じアカウントロジック(私はpassport.jsを使用しています)を使用して異なるルートエンドポイントを設定しますが、異なるコールバックURLを指定しますか?
- さまざまなアクセス方法を処理するために、さまざまなURLの異なるAPI資格情報を登録しますか?
- メッセージングアプリ内からのコールバックをどのように処理しますか?
私の初心者の自己では、これを複雑にすることは、よりシンプルで洗練されたソリューションですか?ありがとうございました!