5.1. サインアップ¶
-
POST
/1/
(tenantId)/users
¶ ユーザを登録する。
リクエストボディには JSON 形式で記述されたユーザ情報を設定する。
レスポンスボディには、作成したユーザ情報を含む JSON データが返る。 ただし、本人確認メール送信設定が有効の場合は、空のユーザ情報を返す。
Request Headers: - X-Application-Id -- アプリケーションID(必須)
- X-Application-Key -- アプリケーションキー(必須)
- Content-Type -- application/json
Request JSON Object: - _id (string) -- ユーザID(オプション)
- username (string) -- ユーザ名(オプション)
- email (string) -- E-mailアドレス(必須)
- password (string) -- パスワード(必須)
- options (object) -- オプション情報(オプション)。JSON形式で記述された任意のオブジェクトを指定できる。
- clientCertUser (boolean) -- クライアント証明書ユーザフラグ(オプション)。
Status Codes: - 200 OK -- 正常登録した
- 400 Bad Request -- パラメータ/リクエストボディ不正
- 401 Unauthorized -- 認証エラー
- 403 Forbidden -- 権限エラー
- 409 Conflict -- テナントに既に同一ユーザ(同じusernameもしくはemail)が存在している、またはシステム上(別テナントを含む)に同一の _id を持つユーザが存在している
- 415 Unsupported Media Type -- Content-Type 不正
Response JSON Object: - _id (string) -- ユーザID
- username (string) -- ユーザ名
- email (string) -- E-mail アドレス
- options (object) -- オプション情報
- createdAt (string) -- ユーザ作成日時
- updatedAt (string) -- ユーザ更新日時
- etag (string) -- 新規作成・更新の度に変更される固有値
- federated (boolean) -- 外部認証連携有無 (本APIでは常にfalse)
- primaryLinkedUserId (string) -- OpenID Connect認証でユーザ自動生成時のリンクユーザID (本APIでは常にnull)
- clientCertUser (boolean) -- クライアント証明書認証ユーザフラグ
- enabled (boolean) -- 有効フラグ
リクエストボディの例
{ "_id": "52116f01ac521e1742000001", "username": "tarou", "email": "nichiden.tarou@example.com", "password": "Passw0rd", "options": { "displayName": "日電 太郎", "division": "日電事業部" } }
レスポンスボディの例
{ "_id": "52116f01ac521e1742000001", "username": "tarou", "email": "nichiden.tarou@example.com", "options": { "displayName": "日電 太郎", "division": "日電事業部" }, "createdAt": "2013-08-27T04:37:30.000Z", "updatedAt": "2013-08-27T04:37:30.000Z", "etag": "8c92c97e-01a7-11e4-9598-53792c688d1b", "federated": false, "clientCertUser": false, "primaryLinkedUserId": null, "enabled": true }
注意事項
- ユーザはアプリ毎ではなく、テナント毎に作成される。
- サインアップ成功した状態ではまだログインはしていない。改めてログインAPIでログインしなおす必要がある。
- _USERS バケット のcontentACLに対する anonymous ユーザの create 権限が必要。
- _idはマスターキー使用時のみ指定可能。
- _idを指定しない場合は、サーバで採番したユーザのIDが格納される。
- usernameを指定しない場合は、ランダムな半角英数字8文字が設定される。
- username、email、passwordのポリシは以下とする。ポリシに違反する場合は、400エラーを返却する。
- username: 1文字以上、100文字以下の1バイト文字列
- email: 100文字以下、メールアドレスとして正しい文字列
- password: 8文字以上、100文字以下の1バイト文字列
- 外部認証を行う場合は、以下APIを使用すること。
- LDAP認証: ログインAPI
- SAML認証: SAML認証開始API、ログインAPI
- OpenID Connect認証: OpenID Connect認証開始API、ログインAPI
- 本人確認メール設定が有効の場合、本API実行時にユーザ登録はされない。API実行後に、リクエストボディに指定したE-mailアドレス宛に送られる本人確認メールの内容に従い登録を行うこと。
- 本人通知メール設定が有効の場合、登録後に登録したE-mailアドレス宛に、本人通知メールが送信される。
- クライアント証明書認証ユーザを登録する場合は clientCertUserにtrueを指定すること。この場合、username は必須、email, password は不要である。