web-dev-qa-db-ja.com

oAuth認証用-別名OpenID Connectの何が悪いのか

oAuthは認証用、OpenIDは認証用であり、OpenID Connectは乱用により認証を提供するoAuth認証。

なぜ軽蔑的な口調ですか?これが悪いという非常に強い意味合いがありますが、私はこれについての説明を見つけていません。認証と承認の違いは理解していますが、認証なしで、またはより正確に、承認なしで誰が承認を使用するのかわかりません。帰属。

実際にはそうではありません。もし私が貢献度が重要ではない状況を考えることができたとしても、それは私の状況では機能しません。認証のためにおそらくLinkedIn。フロントエンドアプリケーション(Webベースおよびモバイル、サードパーティによって制御される可能性がある)は、私の理解から、ユーザーの代わりにAPI /バックエンドサービスにアクセスするためにoAuthを使用する必要があります。

たとえば、フロントエンドのモバイルアプリまたはWebサイトからユーザーのメッセージにアクセスするためのリクエストを受け取った場合、次のようになります。

https://api.example.com/en/messages/userXid&filter=unread

アプリケーションまたはWebサイトにサインインしたユーザーは、メッセージリソースの読み取りを許可されているだけでなく、実際にその特定のメールボックスを読み取ることができるユーザーであることを知っておく必要があります。

しかし、私は余談ですが、OpenID Connectはどういうわけか悪いのですか? ウィキペディアの図を見たことがあります ...誰かがその画像の何が悪いのか説明してもらえますか?

私は最終的に、パズルのすべてのピースが何であるかを理解して、以下のアーキテクチャを作成しようとしています。

a)ユーザーはバックエンドに登録し、OpenID/Google/FB /などを介して認証されます
b)ユーザーは独立したフロントエンド(モバイルアプリやWebサイトなど)を介してサービスにアクセスします
c)異なるユーザーは異なる役割(スタッフと顧客など)を持ち、互いの個人データや機密データにアクセスできません
d)これはマルチテナントサービスであるため、A社のスタッフは実際にはB社とC社の顧客になることができます。

FWIW:私が見たいくつかのことは、私にとって混乱/明確にするのに役立ちます:

  • oAuth 2.0は認証を提供します
  • 上記のページには、oAuthはIDを共有せずに認証を提供することを目的としています。それでは、帰属性はどのようにして達成されますか?
  • OpenID ConnectはoAuth 2.0を使用し、認証を提供します
  • 上記のページには、oAuth 2.0は承認および認証プロトコルの開発をサポートするように設計されている)と記載されています
  • OpenID Connectは認証と承認の両方を提供しますか?
2
Johan

OAUTH、OpenID、およびOPENID Connectの違いは非常に単純な用語ですか?

まあこれはサイドnavbarにありました。

こんな感じです:

アクティビティAを実行する権限がある場合は、アクティビティAを実行できる所有者である必要があります。したがって、所有者である必要があります。承認=認証。これに対して、認証はできるが許可はされません。

1
munchkin