14
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

認証とPostmanのAPI認証方法

Last updated at Posted at 2021-05-26

Postmanの認証機能

APIを使っていると認証しないと使えないものや、アプリケーションでCurrentUserでなければ投稿できない、削除できないなどが出てきます。
その場合ログインしているユーザーであるとかAPIの使用許可を得たユーザーであるなどの認証をさせなければいけません。
Postmanでは認証機能をサポートしています。
image.png

認証とは

あなたが誰かかを本人確認すること。

WebAPIの認証

そもそも認証方式にはどんな種類があるかをまとめます。

WebAPIの認証の3つのパターン

認証方式は3パターンに分けられる

  1. 標準化されているHTTP認証方式
  2. APIキ認証
  3. セキュリティートークン

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1111652/2eae6027-2f5f-6f1e-5d71-fbd29e530d6e.png)
標準化されているHTTP認証方式
  • Basic

ユーザー名とパスワードをBase64方式でエンコードして送る。
開発環境などの内部システム認証に使われる。

  • Digest

サーバーとクライアントで共有シークレット(パスワード)を知っていることが前提の方式。
クライアントでユーザー名、パスワード、ランダムな文字列をMD5でハッシュ化し、サーバーに送信する。 サーバー側でもハッシュ値を計算し、 クライアントから送信されたハッシュ値と合致するかを検証する。

  • Bearer

認可サーバーにより発行されたアクセストークンをWebAPIに渡す方法を定めた仕様。OAuth2.0の認可機構として設計されたものだがOAuthに限らず汎用的なHTTP認可に使ってよい。OAuth 2.0をベースにしたOIDCでもリソースアクセス時に利用される。
3つの方式を定義しています。

  1. ヘッダーのAuthorizationに埋め込む方法
  2. リクエストボディーへ埋め込む方法(access_tokenパラメータ)
  3. クエリーパラメーターとして渡す方式(access_tokenパラメータ)

OAuthとは

  • OAuth

ユーザーの同意のもと任意のサービスへの認可情報を異常する仕様。認可する過程で認証処理も含まれるため、手軽な認証方式として利用されたが、なりすましなどの脆弱性が指摘されていた。

  • OpenID Connect

OAuth認証による認証レベルは低く問題があった。そこでOAuth認証の手軽さに高い認証レベルを備えたOpenID Connectが作られた。


APIキー認証

APIキーはアカウント情報などはなくアプリケーションを識別する暗号化された単純な文字列。
クライアントがリクエスト内にAPIキーを含めて送る認証方式で、ヘッダーやクエリー、bodyなどサービスによって異なる。
シンプルに実装できる一方、APIキーはクライアントからアクセス可能で簡単に盗まれる可能性があり、キーがあれば誰でも認証を通過できることから、安全性が低い認証方式です。

セキュリティートークン

セキュリティートークンはワンタイムパスワードを生成する機械やソフトウェアのこと。ワンタイムパスワードは使い捨てのパスワードのこと。
強固なセキュリティを実現するため、通常認証とワンタイムパスワードの組み合わせをすることがある。

image.png

PostmanのAPI認証サポート

環境変数を使ってログインする方法もありますが、今回は置いておきます。


Postmanにはタグが5つありますが、認証に使うのはAuthorization
ここでリクエストの認証方式を指定します。

Image from Gyazo

クリックします。

Image from Gyazo

Typeで認証方法を選択することができます。今回はbycrytで生成したトークンを送るため、上記で解説したBearerでトークン認証をします。
Bearerを選択すると右にトークンを入力するところが出るので、ユーザー作成で得たトークンを入力します。


Image from Gyazo
これでログイン状態と同じになり、マイクロポストへの投稿や編集、削除などが行えるようになります。

参考サイト

14
7
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?