概要
本記事は「Kintoneを操作するConnector」「Garoonを操作するConnector」をご利用の方向けに、
認証を実行する手順を記載した手順書です。
本記事ではパスワード認証, APIトークン認証,OAuth認証の手順を案内しています。
注意事項
本記事の手順はあくまで一例です。
最新の手順や詳細につきましてはCybozuのドキュメントをご参照ください。
前提
cybozu.comにアクセスできるアカウント
パスワード認証の手順
パスワード認証はkintoneにアクセスするユーザーの情報をもとに認証を実行します。
- 必要な情報
- ログイン名
- パスワード
- kintoneのドメイン(例 : https://example.cybozu.com)
これらを以下のように区切ります。
https://example.cybozu.com,ログイン名:パスワード
各アクションにある入力値「パスワード認証」に上記を指定していただくことで、パスワード認証での実行が可能になります。
権限の設定
パスワード認証はアプリごとに権限を設定できます。
対象のアプリ画面 > 右上の歯車を選択します。
設定 > アクセス権 > 今回はアプリを選択
ユーザーごとの権限を設定します。
パスワード認証の権限はkintoneを画面上で操作している際の権限と同等です。
APIトークン認証の手順
APIトークンはアプリごとに発行するトークンをもとに認証を実行します。
- 必要な情報
- APIトークン
- kintoneのドメイン(例 : https://example.cybozu.com)
これらを以下のように区切ります。
https://example.cybozu.com,APIトークン
APIトークンを複数利用する場合も同様にカンマ区切りで指定します。
最大で9個まで指定できます。
https://example.cybozu.com,APIトークン1,APIトークン2,APIトークン3
各アクションにある入力値「APIトークン認証」に上記を指定していただくことで、APIトークン認証での実行が可能になります。
権限の設定
APIトークン認証はアプリごとに権限を設定できます。
対象のアプリ画面 > 右上の歯車を選択します。
設定 > カスタマイズ/サービス連携 > APIトークンを選択
「生成する」を選択
APIトークンを生成できました。アクセス権を設定して保存します。
OAuth認証の手順
Cybozu.com共通管理で作成できるOAuthクライアントをもとに認証を実行します。
本認証ではOAuthクライアントを作成し、コネクターのアクション「CreateTokenFile」で認証ファイルを実行することで完了します。
各アクションの操作では認証ファイルの絶対パスをご指定ください。
「CreateTokenFile」アクションの実行に必要な値は以下になります。
- 必要な情報
- クライアントID
- クライアントシークレット
- 認証後のURL
- リダイレクトエンドポイント
- トークンエンドポイント
OAuthクライアントをcybozu.comに登録する
「cybozu.com共通管理」画面にアクセスします。
「cybozu.com共通管理」 > 「システム管理」 > 「OAuth」を選択
「高度な連携を設定する」 > 「OAuth クライアントの追加」を選択
- 以下の情報を入力します。
- クライアント名:必須。クライアントの名前です。例として「Cybozu Connector Test」を指定します。
- クライアントロゴ:省略可。クライアントのロゴ画像です。
- リダイレクトエンドポイント:必須。OAuthクライアントが認可コードを受け取るURLです。例として「https://localhost:15002/CybozuApp/」を指定します。
- 「保存」をクリックすると、クライアントが追加され、次の項目が自動的に生成されます。 これらの値はOAuthクライアントの編集画面で確認できます。
- クライアントID:アプリケーションをcybozu.comに登録したときに生成される一意のIDです。
- クライアントシークレット:アプリケーションをcybozu.comに登録したときに生成されるシークレット値です。
- 認可エンドポイント:OAuthの認可エンドポイントURLです。
- トークンエンドポイント:OAuthのトークンエンドポイントURLです。
赤枠部分をクリックすると編集画面に遷移します。
編集画面
追加したクライアントの「連携利用ユーザーの設定」を選択
「連携利用ユーザーの設定」画面でOAuthを利用を許可するユーザーにチェックを入れ、「保存」をクリックします。
この設定が有効になっているユーザーのみ、OAuthクライアントを利用可能です。
デフォルト値は無効になっているため、新規ユーザー追加時にご注意ください。
認可コードを含むURLを取得する
- 認可コードを取得するために以下のURLへアクセスします。client_idとredirect_uriはOAuthクライアントの編集画面でご確認いただけます。
- client_id:必須。クライアントIDを指定します。
-
client_id={クライアントID}
-
- redirect_uri:必須。リダイレクトエンドポイントを指定します。日本語を含む場合はURLエンコードしてください。
-
redirect_uri={リダイレクトエンドポイント}
-
- state:必須。OAuth 2.0の仕様に従って、CSRF対策のためのランダムな値を指定します。例では、「stateKintoneConnector」を指定します。
-
state=stateKintoneConnector
-
- response_type:必須。codeを指定します。
-
response_type=code
-
- scope:必須。スコープを指定します。複数指定する場合はスペースで区切ります。スコープはこちらをご参照ください。スコープ範囲は予告なく変更する場合がございます。
- client_id:必須。クライアントIDを指定します。
「Kintoneを操作するConnector」に必要なスコープは以下の項目です。
-
-
- アプリのレコードの閲覧(k:app_record:read)
- アプリのレコードの追加、変更、削除(k:app_record:write)
- アプリの設定の閲覧(k:app_settings:read)
- アプリの設定の更新(k:app_settings:write)
-
scope=k:app_record:read k:app_record:write k:app_settings:read k:app_settings:write
-
-
-
- URL全体
-
https://{subdomain}.cybozu.com/oauth2/authorization?client_id={クライアントID}&redirect_uri={リダイレクトエンドポイント}&state=stateKintoneConnector&response_type=code&scope=k:app_record:read k:app_record:write k:app_settings:read k:app_settings:write
「Garoonを操作するConnector」に必要なスコープは以下の項目です。
-
-
- 予定、施設、施設グループの取得 (g:schedule:read)
- 予定の登録/更新/削除 (g:schedule:write)
- 管理者による施設または施設グループの取得 (g:schedule.facility:read)
- ユーザー、組織情報の取得 (g:base:read)
-
-
scope=g:schedule:read g:schedule:write g:schedule.facility:read g:base:read
-
-
-
-
- URL全体
-
https://{subdomain}.cybozu.com/oauth2/authorization?client_id={クライアントID}&redirect_uri={リダイレクトエンドポイント}&state=stateKintoneConnector&response_type=code&scope=g:schedule:read g:schedule:write g:schedule.facility:read g:base:read
成功すると以下のような認可画面が表示されるので「許可」をクリックして認可要求を承認します。
認可が承認されたら、リダイレクトURLに遷移します。ConnectorのInput値「認証後のURL」にはこのURL全てをコピーすることで動作いたします。
※認可コードはブラウザ画面ではなくURLをご確認ください。上記のような通知がきたとしても正常に取得できている場合がございます。