認証
認証方式
パスワード認証
パスワード認証とは、ユーザーのログイン名とパスワードを使って認証する方法です。
パスワード認証では、リクエストヘッダーに「X-Cybozu-Authorization」ヘッダーを指定します。
ヘッダーの値はログイン名:パスワード
をBase64エンコードした値です。
たとえば、ログイン名が「Administrator」でパスワードが「cybozu」の場合、リクエストヘッダーには次の値を指定します。
|
|
kintoneやGaroonからパスワード認証を使ってGaroon REST APIを実行した後は、再度ログインを求められます。 kintoneやGaroonのJavaScriptカスタマイズで、 XMLHttpRequest や Fetch API などを使って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クライアントを参照してください。
認証方式の優先順位
パスワード認証とセッション認証を同時に利用した場合の優先順位は、次のとおりです。
- パスワード認証
- OAuthクライアントを利用した認証
- セッション認証
セキュリティ設定を行っている環境でのAPIの利用
IPアドレス制限を設定している場合
IPアドレス制限 を設定している場合、次のいずれかの方法で実行します。
- 「IPアドレス制限」の設定で、REST APIを実行する環境のIPアドレスを許可する。
- 有効期限の過ぎていないクライアント証明書を使う。
Basic認証
Basic認証
を設定している場合、リクエストヘッダーに「Authorization」ヘッダーを指定します。
ヘッダーの値は「Basic 」と「Basic認証のユーザー名:Basic認証のパスワード
をBase64エンコードした値」を結合した値です。
たとえば、ログイン名が「cybozu」でパスワードが「password」の場合、リクエストヘッダーには次の値を指定します。
|
|
クライアント証明書
クライアント証明書は、セキュアアクセスの利用を許可することで発行できます。
セキュアアクセスの利用を許可し、クライアント証明書を発行する方法は、
セキュアアクセスを設定する
を参照してください。
クライアント証明書を使って実行する場合、URLのサブドメインの後に.s
を付ける必要があります。
たとえば「sample.cybozu.com」の場合、URLは「https://sample.s.cybozu.com」です。
SAML認証を設定している場合
SAML認証 を設定している環境でも、このページで案内している認証方式を使ってGaroon REST APIを利用できます。
ただし、パスワード認証を使う場合には、cybozu.comのログイン名とパスワードを指定してください。
.com共通管理で ログイン時にSAML認証だけを使うように制限する
設定を有効にしている場合には、パスワード認証で実行できるユーザーは、cybozu.com共通管理者のみに制限されます。
その他の認証方式では、この制限を受けません。
2要素認証を設定している場合
2要素認証 を有効にしたユーザーでは、パスワード認証でREST APIを実行できません。
パスワード認証以外の認証方式で実行するか、2要素認証を無効にした連携用ユーザーを用意してください。