WebAPI認証の基本とベアラー


93

WebAPIアプリケーションでJWTベースの認証を作成しました。違いがわかりません

  1. 基本トークン
  2. ベアラートークン

誰か助けてくれませんか?

回答:


118

基本認証スキームとダイジェスト認証スキームは、ユーザー名とシークレットを使用した認証専用です(RFC7616およびRFC7617を参照)。

Bearer認証スキームは、トークンを使用した認証専用であり、RFC6750で説明されています。このスキームがOAuth2仕様に由来する場合でも、クライアントとサーバー間でトークンが交換される他のコンテキストで使用できます。

JWT認証に関しては、トークンであるため、ベアラー認証スキームが最適です。それでも、要件に合うカスタムスキームを使用することを妨げるものは何もありません。


41

基本認証は、base64を使用してエンコードされたユーザーID /パスワードのペアとして資格情報を送信します。クライアントAuthorizationは、単語Basicwordの後にスペースとbase64-encoded文字列username:passwordを含むヘッダーを使用してHTTPリクエストを送信します。

承認:基本ZGVtbzpwQDU1dzByZA ==

ここに画像の説明を入力してください 注:基本認証の場合、ユーザーIDとパスワードはクリアテキストとしてネットワークを介して渡されるため(base64でエンコードされていますが、base64はリバーシブルエンコードです)、基本認証スキームは安全ではありません。HTTPS / TLSは、基本認証と組み合わせて使用​​する必要があります。


ベアラー認証トークン認証とも呼ばれます)には、ベアラートークンと呼ばれるセキュリティトークンがあります。「ベアラ認証」という名前は、「このトークンのベアラへのアクセスを許可する」と理解できます。ベアラートークンは不可解な文字列であり、通常、ログイン要求に応答してサーバーによって生成されます。クライアントは、保護されたリソースに要求を行うときに、Authorizationヘッダーでこのトークンを送信する必要があります。

承認:ベアラー<トークン>

ここに画像の説明を入力してください

注:基本認証と同様に、ベアラー認証はHTTPS(SSL)経由でのみ使用する必要があります

より多くの情報についてはリンク1リンク2


したがって、これらは両方とも承認であり、実際には承認ではありません。最初の方法では、base64でエンコードされた文字列を送信して認証を取得し、後者の場合はトークンを取得してそれを使用してリソースにアクセスします
ブレイン

ユーザー名/パスワードよりもトークンを渡すことの利点は何ですか?
MuhammadUmer20年

@MuhammadUmerトークンを取り消して、きめ細かいアクセス(つまり、読み取りアクセスのみ)を付与することもできます。
ミハイ

私は答えを見つけました、そしてそれはあなたがトークンでdb読み取りをする必要がないということでしたあなたはトークンを検証するために暗号を使うことができます、共有セッション状態を持たないマイクロサービスに最適ですが、1人のユーザーを修正できるロードバランサーがあります1つのサービスですが、それでもパフォーマンスは優れています。
MuhammadUmer20年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.