明確な違いと思ったこと
OAuthは、ユーザーが別々のサービスやアプリケーションにアクセスする際に、毎回そのアクセスに対する許可を与える必要があります。ユーザーは各アプリケーションに対して個別に認可を行う必要があります。
SAMLは、ユーザーが1つのサービスにログインすると、その認証情報が他の関連するサービスに自動的に伝播され、再認証なしで他のサービスにアクセスできるようになります。これにより、ユーザーは1回のログインで複数のサービスにアクセスでき、スムーズな体験が可能となります。
OAuth = 毎回許可必要
SAML = 一度の設定でスムーズにアクセス可
プロトコルの違い
OAuthは、異なるアプリケーションやサービス間でのアクセス制御に使用されます。例えば、ソーシャルメディアのアプリがユーザーのプロフィール情報にアクセスする際にOAuthが使われます。また、主に使用されているOAuth 2.0の仕様では、データ形式としてJSONが標準的に使用されています。
SAMLは、企業内の複数のサービスやアプリケーション間でのシングルサインオンを実現するために使用されます。ユーザーは1回の認証で複数のサービスにアクセスできます。
XMLベースのプロトコルであり、XML文書がユーザーの認証情報や属性情報を含むため、主にWebブラウザ間の通信に使用されます。
トークンの種類について
OAuthでは、アクセストークンやリフレッシュトークンなどのトークンが使用され、これらのトークンによってアクセス権が制御されます。
SAMLでは、セキュリティトークン(SAMLトークン)が使用され、ユーザーの認証情報や属性が含まれています。
間違っている、ここはこの方がいいかも?等々ございましたらご指摘いただけますと幸いです。