認証

目次

認証方式

パスワード認証

パスワード認証とは、ユーザーのログイン名とパスワードを使って認証する方法です。

パスワード認証では、リクエストヘッダーに「X-Cybozu-Authorization」ヘッダーを指定します。
ヘッダーの値は ログイン名:パスワード を Base64 エンコードした値です。

たとえば、ログイン名が「Administrator」でパスワードが「cybozu」の場合、リクエストヘッダーには次の値を指定します。

1
2
3
{
  "X-Cybozu-Authorization": "QWRtaW5pc3RyYXRvcjpjeWJvenU="
}

kintone や Garoon からパスワード認証を使って Garoon REST API を実行した後は、再度ログインを求められます。 kintone や Garoon の JavaScript カスタマイズで、 XMLHttpRequest (External link) Fetch API (External link) などを使って Garoon REST API を実行するときは、 リクエストトークン を利用してください。

kintone や Garoon のカスタマイズファイルにパスワードなどの認証情報をハードコーディングすることは、認証情報の漏洩の恐れがあるため、推奨していません。 詳しくは、 セキュアコーディングガイドライン を確認してください。

セッション認証

セッション認証とは、Web ブラウザーで cybozu.com にログインしたときのセッションを使って認証する方法です。
Garoon や kintone に適用した JavaScript ファイルから Garoon REST API を実行する場合には、セッションによる認証を利用できます。

ブラウザーの Fetch API (External link) XMLHttpRequest (External link) を使って、POST/PATCH/PUT/DELETE メソッドの API を実行する場合は、 CSRF トークン を付与してください。
詳細は、 Garoon CSRFトークンの利用例 を参照してください。

OAuth クライアントを利用した認証

OAuth クライアント を参照してください。

認証方式の優先順位

パスワード認証とセッション認証を同時に利用した場合の優先順位は、次のとおりです。

  1. パスワード認証
  2. OAuth クライアントを利用した認証
  3. セッション認証

セキュリティ設定を行っている環境での API の利用

IP アドレス制限を設定している場合

IP アドレス制限 (External link) を設定している場合、次のいずれかの方法で実行します。

  • 「IP アドレス制限」の設定で、REST API を実行する環境の IP アドレスを許可する。
  • 有効期限の過ぎていないクライアント証明書を使う。
Basic 認証

Basic 認証 (External link) を設定している場合、リクエストヘッダーに「Authorization」ヘッダーを指定します。
ヘッダーの値は「Basic 」と「Basic 認証のユーザー名:Basic 認証のパスワード を Base64 エンコードした値」を結合した値です。
たとえば、ログイン名が「cybozu」でパスワードが「password」の場合、リクエストヘッダーには次の値を指定します。

1
2
3
{
  "Authorization": "Basic Y3lib3p1OnBhc3N3b3Jk"
}
クライアント証明書

クライアント証明書は、セキュアアクセスの利用を許可することで発行できます。
セキュアアクセスの利用を許可し、クライアント証明書を発行する方法は、 セキュアアクセスを設定する (External link) を参照してください。

クライアント証明書を使って実行する場合、URL のサブドメインの後に .s を付ける必要があります。
たとえば「sample.cybozu.com」の場合、URL は「https://sample.s.cybozu.com」です。

SAML 認証を設定している場合

SAML 認証 (External link) を設定している環境でも、このページで案内している認証方式を使って Garoon REST API を利用できます。

ただし、パスワード認証を使う場合には、cybozu.com のログイン名とパスワードを指定してください。
.com 共通管理で ログイン時に SAML 認証だけを使うように制限する (External link) 設定を有効にしている場合には、パスワード認証で実行できるユーザーは、cybozu.com 共通管理者のみに制限されます。
その他の認証方式では、この制限を受けません。

2要素認証を設定している場合

2 要素認証 (External link) を有効にしたユーザーでは、パスワード認証で REST API を実行できません。

パスワード認証以外の認証方式で実行するか、2 要素認証を無効にした連携用ユーザーを用意してください。