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

目次

はじめに

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

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

メリット

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

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

手順

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

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

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

OAuthクライアントを追加する を参考に設定していきます。
STEP1の「リダイレクトエンドポイント」に、https://oauth.pstmn.io/v1/browser-callbackを入力します。
上記以外の設定は記事のとおりです。

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

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

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

  2. ポップアップが表示されるので、必要な項目を入力します。


    以下の情報を入力します。
    公式ドキュメントは こちら (External link)

    • Token Name:任意の名前
    • Grant Type:Authorization Code
    • Callback URL:https://oauth.pstmn.io/v1/browser-callback
    • Auth URL:認可エンドポイント
    • Access Token URL:トークンエンドポイント
    • Client ID:クライアントID
    • Client Secret:クライアントシークレット
    • Scope(Aptional):k:app_record:read その他のスコープは こちら
    • State:クロスサイトリクエストフォージェリを防ぐためのランダムな文字列を指定します。
  3. 入力したら「Request Token」をクリックし、cybozu.comの認証画面が表示されるので、ログインします。
    ログインすると、以下のような画面が表示されるので「許可」をクリックして認可要求を承認します。

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


    AuthorizationタブのAccess Tokenにアクセストークンが設定されます。

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


    レコードの情報の取得ができました。

おわりに

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

注意事項

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

information

このTipsは、2018年11月版kintoneで動作を確認しています。