私はOAuth 2.0
をサポートするさまざまなサービスのスマートな(うまくいけば)統合を提供するサービスに取り組んでいます。など私たちのツールの焦点チームワークフローの改善にあるので、我々はSlack
、GitHub
、Asana
(課題追跡)を組み合わせている、Cezanne
(HRツール)、外部Auth 2.0サービスへの認証を委任する方法
私たちは、これらすべてのツールで作業UIとバックエンドを持っています(ユーザーはすべてのユーザーに権限が与えられているため、アクセスと更新トークンが必要です)。特定のツールで人の役割に応じてUIのさまざまな部分を隠すことができる必要があります。例としてGitHub
を取ってみましょう。ユーザーは、リポジトリ所有者、コントリビュータ、企業所有者(ビジネスアカウント用)などであることができます。そのため、ユーザーはそれぞれの権利に基づいて異なるUIを必要とする可能性があります。
私は自分自身で認可を実行することを躊躇していました(別のカスタム認証システムがこの世界で最後に必要なものです)。私は他のサービスの認証メカニズムを利用し、軽量なラッパーを作成したかったのです。それは最初は合理的なアイデアのように思えたが、私はそれを実装する方法を理解することはできませんし、Googleは貴重なアドバイスを提供しません:99.99%私は何か愚かなことをしようとしている、00.01%私はまれな/革新的なもの。
私はOAuth 2.0
を利用したいと考えましたが、私たちが必要とするものをサポートしていないようです。最も近いのはスコープですが、シナリオにはあまり関係しません。
今私が持っている唯一のアイデアは、独自の認証システムを作成し、リバースエンジニアリングの種類を使って他のサービスを統合することです。だから私は、APIを使ってユーザーのGitHubアカウントの詳細を要求し、私たちのシステムに彼の役割を適切に適用します:リポジトリAの所有者、リポジトリBの寄稿者、C社の所有者などです。リポジトリ所有者は会社名を変更できません)。また、一般的な管理者/ユーザー/マネージャ/ etcではなく、各サービスのユーザー役割を維持する必要があります。 (リポジトリAの場合)、ManagerOfAsanaTeam(チームBの場合)など
OAuth 2.0
サービスに現在のユーザーが使用できる権限を返すエンドポイントがあるとすばらしいことになります。
私はセキュリティエンジニアではないため、明らかなものがありません。上記の実装に投資する前に、あなたに助言を求めることが必要でした。
OAuth 2.0を証明していただきありがとうございます。概要の問題の解決策ではありません。質問に記載されている解決策についてのご意見をお聞きしたいと思います(少し変更してより明確になりました)。 – SiberianGuy