あなたの質問に対する直接的な答えはyesです。OAuth 2.0仕様から:
新しい実装がこのドキュメントで指定されているように OAuth 2.0 をサポートし、OAuth 1.0 は既存の展開をサポートするためだけに使用されることが、この仕様の意図です。
私は OAuth 2.0 を好み、2.0 承認サーバーを実装して仕様に貢献しましたが、どちらが優れているとは言えません。2.0の方が使いやすいと思います。
有用なプロトコルとして、OAuth 1.0 は時代遅れでも無関係でもありません。バージョン 1.0a (RFC 5849 は 1.0a) の時点で、2.0 よりも安全性が低くなる脆弱性を私は知りません。実際、デフォルトでより安全になっていることは間違いありません。1.0 は、ほとんどのユース ケースを同様に処理できます。
OAuth 2.0 は OAuth 1.0 と互換性がありません。これはまったく新しいプロトコルです。2.0 の開発を推進した設計上の決定は、1.0自体の欠陥に根ざしたものではなく、OAuth を実装しやすくし、1.0 では困難なユースケース (ネイティブなど) をよりエレガントにしたいという願望から 2.0 が生まれました。アプリ)。
注目に値するかもしれないいくつかの違い:
2.0 は、TLS 暗号化接続によって提供されるセキュリティに依存しています。1.0 は TLS を必要としません。その結果、中間者攻撃に対する独自の防御を含める必要があるため、プロトコルはより複雑になります。たとえば、1.0 は保護されたリソースにアクセスするために署名された要求に依存していますが、2.0 ははるかに単純なBearerアクセス トークン タイプを提供します。
2.0 では、OAuth サーバーを(1) 認可サーバーと (2) リソース サーバーの 2 つの概念的な役割に分割します。この関心の分離は、さまざまな種類のリソースを担当する多くのサーバーに承認の懸念が分散している企業に自然に適合します。
2.0 では、機密クライアントとパブリック クライアントが区別されます。パブリック クライアントはユーザー デバイス上で実行されるクライアントであるため、シークレット (ハードコードされた埋め込み資格情報) を確実に保持することはできません。機密クライアントとパブリック クライアントを区別すると、クライアント アプリケーション開発者のニーズに合った安全な実装の決定が容易になります。
2.0 では、複数の承認付与タイプが導入されています。各付与タイプには独自のプロトコル フローがあり、これらのプロトコル フローにより、OAuth 2.0 は複数のユース ケースとクライアント タイプに適応できます。
2.0 では、拡張性を高めるために多大な努力が払われています。仕様のセクション 8では、新しいアクセス トークン タイプ、許可タイプ、およびプロトコル パラメータを定義するための規定を作成しています。たとえば、ベアラー トークンに加えて、MAC トークンとJWT ベアラー トークンに取り組んでいます。
これは主観的なものですが、OAuth 1.0 では開発者がユース ケースをより厳密なフレームワークに適合させる必要があったのに対し、OAuth 2.0 は多くのユース ケースに対して柔軟に対応しようとしていると言う人もいるかもしれません。