認証

目次

認証方式

パスワード認証

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

パスワード認証では、リクエストヘッダーに「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を実行する場合には、セッション認証を利用できます。

Garoonに適用したJavaScriptファイルから実行する場合

次のどちらかの方法でリクエストを送信すると、セッション認証を利用できます。

方法1:garoon.api()を使用する

garoon.api()の詳細は、次のページを参照してください。
garoon.api():Garoon REST APIリクエストを送信する API

方法2:「X-Requested-With」ヘッダーを付与し、WebブラウザーのFetch APIまたはXMLHttpRequestを使用する

「X-Requested-With」ヘッダーの詳細は、次のページを参照してください。
「X-Requested-With」ヘッダー

APIのHTTPメソッドがPOST/PUT/PATCH/DELETEメソッドの場合は、「X-Requested-With」ヘッダーに加えて、クエリパラメーターまたはリクエストボディにCSRFトークンを付与します。
CSRFトークンを使ったリクエスト例は、次のページをん参照してください。
CSRFトークンを取得する

kintoneに適用したJavaScriptファイルから実行する場合

APIのHTTPメソッドがGETの場合は、「X-Requested-With」ヘッダーを付与し、WebブラウザーのFetch APIまたはXMLHttpRequestを使用してリクエストを送信します。
「X-Requested-With」ヘッダー

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要素認証を無効にした連携用ユーザーを用意してください。