2017-08-27 7 views
0

私はいくつかの異なるアカウントを接続する "サービス統合"プラットフォームに取り組んでいます。OAuth2とサーバーサイド情報へのアクセスの理解

背景にあるアイデアは、接続された複数のプラットフォームで自動操作を実行する単一のWebアプリケーションを持つことです。例えば :

期日の有効期限:

  • チャンネルX上のスラックメッセージ
  • メッセージ、電子メール経由で管理者X
  • でアサナ

に新しいタスクを作成して実際にすべてが働いています私はユーザーアクセストークンに頼っています。私はOAUTHでトークンを取得し、私はそれを使用して私のサーバーと他のプラットフォーム間のすべての呼び出しを実行します。

私は2つの問題直面しています:

  • 私は」それを行うための正しい方法であると考えてはいけないし。私の理解では、 "ユーザートークン"なしですべての操作を実行するが、 "サーバー側"トークン(クライアントIDと秘密かもしれない)を使用して、アプリケーションへのユーザー "承認"の後、方法がなければならない
  • 数時間/日後にユーザートークンが失効し、すべてのサービスにログインする必要があります。

これは正しい方法ですか?たとえば、新しいGSUITE/Googleアカウントをプロビジョニングする必要があるとします。

今は、OAUTHクライアント側認証で取得したユーザートークンを使用して要求を実行するだけです。すべてが魅力のように機能します。

私は同じことをサーバーサイドで行うことはできますか?理論的には、ユーザーは自分のアプリケーションに新しいユーザーを提供する許可を与えていますが、私はどのようにして「クライアント・インパクト」なしでそれを行うことができますか?

答えて

0

いくつかの読書といくつかの実験の後、私はこのアプローチを見出します。

は、作業しているサービスによっては、主に「OAuthのログイン」の2つのカテゴリーがあります。

  • 単一のトークン:ログイン後、外部サーバはあなたにアクセスするには、生涯有効なトークンを提供します彼の情報ユーザーがアプリケーションへのアクセス権を削除した場合、トークンは機能しなくなります

  • 更新トークン:ログイン後、外部サーバーから「タイムドトークン」(通常は1時間)とリフレッシュトークン(常に有効)が表示されます。 APPIDおよびAPPSECRETで使用されるリフレッシュトークンを使用して、新しいAuthorizationトークンを取得できます。

    • GSUITE(更新)
    • Trello(有効期間)
    • アーサナは(更新)
    • スラック(有効期間)

実は、私がテストしました

関連する問題