カテゴリー内の他の記事

OAuth 2.0を使ってcybozu.comのREST APIをPostmanで叩く方法

フォローする

Index

はじめに

2018年11月版のアップデートで、OAuthクライアント機能が追加されました。詳細はOAuthクライアントの使用をご参照ください。

しかし、「OAuth対応されて何が嬉しいの?」と何だかよくわかっていない方も多いのではないでしょうか?
この記事では、OAuth対応されたことによるメリットとOAuthを利用して認証する機能を使って実際にAPIを実行する例を紹介します。

メリット

パスワード認証を使用すると、cybozu.com製品のAPIを実行する際、cybozu.com製品のIDやパスワードの情報を連携先のサービスに渡さなければなりません。
この認証方法では、連携先のサービスにユーザーの持つすべての権限を付与することと同じ状態で、特定の権限だけを付与することはできません。
また、ユーザがパスワード変更するたびに認証に影響が出てしまいます。

今回OAuth対応されたことにより、OAuth 2.0というプロトコルを利用して、cybozu.com製品のIDやパスワードの情報を連携先のサービスに渡すことなく、特定の権限を連携先のサービスに付与することが出来ます。
また、ユーザーがパスワードを変更した際も、APIの認証に必要なアクセストークンに影響がないため、メンテナンスのコストがかかりません。

____.png

手順

今回は、PostmanからOAuthを利用して認証する機能を使って、レコードの一括取得APIを実行する例を紹介します。

Postmanとは、Web APIを開発するためのツールです。
Postmanを使用することで、Web APIの実行に必要な設定を作成・管理することができ、cybozu.com製品のREST APIを簡単に実行することが出来ます。こちらからダウンロードできます。

OAuthクライアントをcybozu.comに登録する

OAuthクライアントの使用「OAuthクライアントをcybozu.comに登録する」部分を参考に設定していきます。
手順4の「リダイレクトエンドポイント」に、「https://www.getpostman.com/oauth2/callback」を入力します。
上記以外の設定は記事通りです。

OAuth_________.png

OAuth認証フローをアプリケーションに実装する

PostmanからOAuth認証フローを実行します。アプリ版のPostmanを使用してください。

  1. 「Authorization」タブの「TYPE」に「OAuth 2.0」、「Add authorization data to」に「Request Headers」を選択し、「Get New Access Token」をクリックします。
    Postman1.png

  2. ポップアップが表示されるので、必要な項目を入力します。
    Postman3.png
    以下の情報を入力します。公式ドキュメントはこちら
    Token Name:任意の名前
    Grant Type:Authorization Code
    Callback URL:https://www.getpostman.com/oauth2/callback
    Auth URL:認可エンドポイント
    Access Token URL:トークンエンドポイント
    Client ID:クライアントID
    Client Secret:クライアントシークレット
    Scope(Aptional):k:app_record:read その他のスコープはこちら
    State:クロスサイトリクエストフォージェリを防ぐためのランダムな文字列を指定します。 

    入力したら「Request Token」をクリックします。

  3. 「Request Token」をクリックすると、cybozu.comの認証画面が表示されるので、ログインします。
    ログインすると、以下のような画面が表示されるので「許可」をクリックして認可要求を承認します。
    ____.png

  4. 認可要求を承認すると、Tokenが作成されます。
    Postman上の「Token」が「アクセストークン」に該当します。
    先ほど作成したTokenを選択し、「Use Token」をクリックします。
    Postman4.png

    「Use Token」をクリックすると、「Authorization」タブの「Access Token」にアクセストークンが設定されます。
    Postman5.png

  5. URLに「https://(サブドメイン名).cybozu.com/k/v1/records.json?app=(アプリID)」と入力し、「Send」をクリックします。 
    Postman6.png

     レコードの情報を取得することが出来ました。
    Postman7.png

おわりに

OAuth対応されたことによるメリットと実際にAPIを実行する手順はご理解いただけたでしょうか?
OAuthを利用して認証する機能を使うことで、安全にcybozu.com製品のAPIを実行することが出来ます。

注意事項

Postmanで取得したアクセストークンの有効期間は10分です。

このTipsは、2018年11月版 kintoneで確認したものになります。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

ログインしてコメントを残してください。