-
Notifications
You must be signed in to change notification settings - Fork 0
API
Roman-Akopov edited this page Jul 12, 2018
·
7 revisions
- Identity Directory
- Credential Directory
- Basic Identity
- Basic Credential
- One Time Password Credential
- Token Credential
- Subnet Credential
- One Time Password Message
- Principal
- Session
{
"id": <UUID>,
"type": "basic",
"code": <string>,
"name": <string>
}
{
"id": <UUID>,
"type": "basic" | "one-time-password" | "token" | "subnet",
"code": <string>,
"name": <string>
}
{
"_is_saved": <boolean>,
"id": <UUID>,
"principal_id": <UUID>,
"username": <string>
}
{
"_is_saved": <boolean>,
"id": <UUID>,
"principal_id": <UUID>,
"username": <string>
}
{
"_is_saved": <boolean>,
"id": <UUID>,
"principal_id": <UUID>
}
{
"_is_saved": <boolean>,
"id": <UUID>,
"principal_id": <UUID>,
"old_password": <string>,
"password": <string>
}
{
"_is_saved": <boolean>,
"id": <UUID>,
"principal_id": <UUID>,
"type": "online-none" | "offline-qr",
"binding-data": <string>
}
{
"_is_saved": <boolean>,
"id": <UUID>,
"principal_id": <UUID>
}
{
"id": <UUID>,
"credential_id": <UUID>
}
{
"credential_id": <UUID>,
"purpose":
"email_validate" |
"email_change" |
"email_reset" |
"phone_validate" |
"phone_change" |
"phone_reset" |
"basic_credential_validate" |
"basic_credential_change" |
"basic_credential_reset" |
"otp_credential_validate" |
"otp_credential_change" |
"otp_credential_reset"
}
{
"_is_saved": <boolean>,
"id": <UUID>,
"email": <string>,
"phone": <string>,
"brief_name": <string>,
"full_name": <string>,
"identities": {
"basic": [
<BasicIdentity>, <BasicIdentity>
]
},
"credentials": {
"basic": [
<BasicCredential>, <BasicCredential>
],
"one-time-password": [
<OneTimePasswordCredential>, <OneTimePasswordCredential>
],
"token": [
<TokenCredential>, <TokenCredential>
],
"subnet": [
<SubnetCredential>, <SubnetCredential>
]
},
// shortcuts
"_basic_username_text": <string>,
"_has_basic_password": <boolean>,
"_has_phone_sms_one_time_password": <boolean>
"_has_google_authenticator_one_time_password": <boolean>
}
{
"_is_saved": <boolean>,
"id": <UUID>,
"email": <string>,
"phone": <string>,
"brief_name": <string>,
"full_name": <string>,
"identities": {
"basic": [
<BasicIdentity>, <BasicIdentity>
]
},
"credentials": {
"basic": [
<BasicCredential>, <BasicCredential>
],
"one-time-password": [
<OneTimePasswordCredential>, <OneTimePasswordCredential>
],
"token": [
<TokenCredential>, <TokenCredential>
],
"subnet": [
<SubnetCredential>, <SubnetCredential>
]
},
// shortcuts
"_basic_username_text": <string>,
"_basic_password_text": <string>,
"_has_phone_sms_one_time_password": <boolean>
"_has_google_authenticator_one_time_password": <boolean>
}
{
"id": <UUID>,
"principal": <Principal>,
"evidences": [
"authenticated",
"knowledge_factor",
"knowledge_factor_password"
]
}
{
"identities": {
"basic": [
<BasicIdentity>, <BasicIdentity>
]
},
"credentials": {
"basic": [
<BasicCredential>, <BasicCredential>
],
"one-time-password": [
<OneTimePasswordCredential>, <OneTimePasswordCredential>
],
"token": [
<TokenCredential>, <TokenCredential>
]
},
// shortcuts
"_basic_username_text": <string>,
"_basic_password_text": <string>,
"_has_phone_sms_one_time_password": <boolean>
"_has_google_authenticator_one_time_password": <boolean>
}
-
Directory, Identity (GET)
-
Directory, Credential (GET)
-
Session (GET, PUT, PATCH)
-
Principal (GET, POST, PATCH)
-
Basic Identity (POST)
-
Basic Credential (GET, POST, PATCH)
-
One Time Password Credential (GET, POST, PATCH)
GET /directory/identity/
200 OK
{
"status": 200,
"data": [
<IdentityDirectory>
]
}
GET /directory/credential/
200 OK
{
"status": 200,
"data": [
<CredentialDirectory>
]
}
GET /session/current
200 OK
{
"status": 200,
"data": <Session>
}
PUT /session/current
{
"data": <Session>
}
200 OK
Location: /session/current
{
"status": 200,
"data": <Session>
}
PATCH /session/current
X-OTP-Message: <UUID> Text
{
"data": <Session>
}
200 OK
Location: /session/current
{
"status": 200,
"data": <Session>
}
DELETE /session/current
{
}
204 OK
GET /principal/<UUID or me>
{
"status": 200,
"data": <Principal>
}
POST /principal/
Content-Location: /session/principal/<UUID>
X-OTP-Message: <UUID> Text
X-OTP-Message: <UUID> Text
{
"data": <Principal>
}
201 Created
Location: /principal/<UUID>
{
"status": 201,
"data": <Principal>
}
PATCH /principal/<UUID or me>
X-OTP-Message: <UUID> Text
{
"data": <Principal>
}
200 OK
Location: /principal/<UUID>
{
"status": 200,
"data": <Principal>
}
POST /identity/basic/
{
"data": <BasicIdentity>
}
201 Created
Location: /identity/basic/<UUID>
{
"status": 201,
"data": <BasicIdentity>
}
PATCH /identity/basic/<UUID>
X-OTP-Message: <UUID> Text
{
"data": <BasicIdentity>
}
200 OK
{
"status": 200,
"data": <BasicIdentity>
}
POST /credential/basic/
{
"data": <BasicCredential>
}
201 Created
Location: /credential/basic/<UUID>
{
"status": 201,
"data": <BasicCredential>
}
PATCH /credential/basic/<UUID>
X-OTP-Message: <UUID> Text
{
"data": <BasicCredential>
}
200 OK
{
"status": 200,
"data": <BasicCredential>
}
POST /credential/one-time-password/
Content-Location: /session/credential/one-time-password/<UUID>
X-OTP-Message: <UUID> Text
{
"data": <OneTimePasswordCredential>
}
201 Created
Location: /credential/one-time-password/<UUID>
{
"status": 201,
"data": <OneTimePasswordCredential>
}
POST /credential/one-time-password/<UUID>/message
{
"data": <OneTimePasswordCredentialMessage>
}
201 Created
Location: /credential/one-time-password/<UUID>/message/<UUID>
{
"status": 201,
"data": <OneTimePasswordCredentialMessage>
}