IAM Service Client Events 0.1.0 documentation
In this document, PUB
means "publish" and SUB
means "subscribe". This refers to the "publish/subscribe" (pub/sub) messaging framework, where "publish" means that the service sends data to Kafka topics, and "subscribe" means the service acts as a consumer that subscribes to specific Kafka topics to receive data.
- Specification ID:
http://iam-service
- Protobuf File Spec: client.proto
Table of Contents
Operations
PUB client
Operation
Accepts one of the following messages:
Message clientCreated
message is sent when an IAM oauth client is created
Payload
Name | Type | Description | Value | Constraints | Notes |
---|---|---|---|---|---|
(root) | object allOf | - | - | - | additional properties are allowed |
payload | object | - | - | - | additional properties are allowed |
payload.client | object | - | - | - | additional properties are allowed |
payload.client.clientId | string | client id | - | - | - |
payload.client.name | string | client name | - | - | - |
payload.client.clientType | string | client type, Confidential/Public | - | - | - |
payload.client.baseUri | string | base uri of this client | - | - | - |
payload.client.redirectUri | string | redirect uri for server to redirect to after authentication | - | - | - |
payload.client.secret | string | client secret | - | - | - |
payload.client.audiences | array<string> | target client ids who will receive token | - | - | - |
payload.client.audiences (single item) | string | - | - | - | - |
payload.client.clientPlatform | string | third party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo | - | - | - |
payload.client.twoFactorEnabled | boolean | a flag indicates whether tow factor is enabled or not | - | - | - |
payload.client.namespace | string | namespace | - | - | - |
payload.client.parentNamespace | string | studio/publisher namespace in multi tenant mode | - | - | - |
0 (allOf item) | object | - | - | - | additional properties are allowed |
id | string | - | - | - | - |
version | integer | - | - | - | - |
name | string | - | - | - | - |
namespace | string | - | - | - | - |
parentNamespace | string | - | - | - | - |
timestamp | string | - | - | format (date-time ) | - |
clientId | string | - | - | - | - |
userId | string | - | - | - | - |
traceId | string | - | - | - | - |
sessionId | string | - | - | - | - |
Examples of payload (generated)
{
"payload": {
"client": {
"clientId": "string",
"name": "string",
"clientType": "string",
"baseUri": "string",
"redirectUri": "string",
"secret": "string",
"audiences": [
"string"
],
"clientPlatform": "string",
"twoFactorEnabled": true,
"namespace": "string",
"parentNamespace": "string"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
Message clientDeleted
message is sent when IAM oauth client is deleted
Payload
Name | Type | Description | Value | Constraints | Notes |
---|---|---|---|---|---|
(root) | object allOf | - | - | - | additional properties are allowed |
payload | object | - | - | - | additional properties are allowed |
payload.client | object | - | - | - | additional properties are allowed |
payload.client.clientId | string | client id | - | - | - |
payload.client.name | string | client name | - | - | - |
payload.client.clientType | string | client type, Confidential/Public | - | - | - |
payload.client.baseUri | string | base uri of this client | - | - | - |
payload.client.redirectUri | string | redirect uri for server to redirect to after authentication | - | - | - |
payload.client.secret | string | client secret | - | - | - |
payload.client.audiences | array<string> | target client ids who will receive token | - | - | - |
payload.client.audiences (single item) | string | - | - | - | - |
payload.client.clientPlatform | string | third party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo | - | - | - |
payload.client.twoFactorEnabled | boolean | a flag indicates whether tow factor is enabled or not | - | - | - |
payload.client.namespace | string | namespace | - | - | - |
0 (allOf item) | object | - | - | - | additional properties are allowed |
id | string | - | - | - | - |
version | integer | - | - | - | - |
name | string | - | - | - | - |
namespace | string | - | - | - | - |
parentNamespace | string | - | - | - | - |
timestamp | string | - | - | format (date-time ) | - |
clientId | string | - | - | - | - |
userId | string | - | - | - | - |
traceId | string | - | - | - | - |
sessionId | string | - | - | - | - |
Examples of payload (generated)
{
"payload": {
"client": {
"clientId": "string",
"name": "string",
"clientType": "string",
"baseUri": "string",
"redirectUri": "string",
"secret": "string",
"audiences": [
"string"
],
"clientPlatform": "string",
"twoFactorEnabled": true,
"namespace": "string"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
Message clientUpdated
message is sent when IAM oauth client is updated
Payload
Name | Type | Description | Value | Constraints | Notes |
---|---|---|---|---|---|
(root) | object allOf | - | - | - | additional properties are allowed |
payload | object | - | - | - | additional properties are allowed |
payload.client | object | - | - | - | additional properties are allowed |
payload.client.clientId | string | client id | - | - | - |
payload.client.name | string | client name | - | - | - |
payload.client.clientType | string | client type, Confidential/Public | - | - | - |
payload.client.baseUri | string | base uri of this client | - | - | - |
payload.client.redirectUri | string | redirect uri for server to redirect to after authentication | - | - | - |
payload.client.secret | string | client secret | - | - | - |
payload.client.audiences | array<string> | target client ids who will receive token | - | - | - |
payload.client.audiences (single item) | string | - | - | - | - |
payload.client.clientPlatform | string | third party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo | - | - | - |
payload.client.twoFactorEnabled | boolean | a flag indicates whether tow factor is enabled or not | - | - | - |
payload.client.namespace | string | namespace | - | - | - |
0 (allOf item) | object | - | - | - | additional properties are allowed |
id | string | - | - | - | - |
version | integer | - | - | - | - |
name | string | - | - | - | - |
namespace | string | - | - | - | - |
parentNamespace | string | - | - | - | - |
timestamp | string | - | - | format (date-time ) | - |
clientId | string | - | - | - | - |
userId | string | - | - | - | - |
traceId | string | - | - | - | - |
sessionId | string | - | - | - | - |
Examples of payload (generated)
{
"payload": {
"client": {
"clientId": "string",
"name": "string",
"clientType": "string",
"baseUri": "string",
"redirectUri": "string",
"secret": "string",
"audiences": [
"string"
],
"clientPlatform": "string",
"twoFactorEnabled": true,
"namespace": "string"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
PUB clientThirdParty
Operation
Accepts one of the following messages:
Message clientThirdPartyCreated
Payload
Name | Type | Description | Value | Constraints | Notes |
---|---|---|---|---|---|
(root) | object allOf | - | - | - | additional properties are allowed |
payload | object | - | - | - | additional properties are allowed |
payload.client | object | - | - | - | additional properties are allowed |
payload.client.clientId | string | client id | - | - | - |
payload.client.name | string | client name | - | - | - |
payload.client.clientType | string | client type, Confidential/Public | - | - | - |
payload.client.baseUri | string | base uri of this client | - | - | - |
payload.client.redirectUri | string | redirect uri for server to redirect to after authentication | - | - | - |
payload.client.secret | string | client secret | - | - | - |
payload.client.audiences | array<string> | target client ids who will receive token | - | - | - |
payload.client.audiences (single item) | string | - | - | - | - |
payload.client.clientPlatform | string | third party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo | - | - | - |
payload.client.twoFactorEnabled | boolean | a flag indicates whether tow factor is enabled or not | - | - | - |
payload.client.namespace | string | namespace | - | - | - |
payload.clientThirdParty | object | - | - | - | additional properties are allowed |
payload.clientThirdParty.platformId | string | - | - | - | - |
payload.clientThirdParty.appId | string | - | - | - | - |
payload.clientThirdParty.redirectUri | string | - | - | - | - |
payload.clientThirdParty.secret | string | - | - | - | - |
payload.clientThirdParty.active | boolean | - | - | - | - |
0 (allOf item) | object | - | - | - | additional properties are allowed |
id | string | - | - | - | - |
version | integer | - | - | - | - |
name | string | - | - | - | - |
namespace | string | - | - | - | - |
parentNamespace | string | - | - | - | - |
timestamp | string | - | - | format (date-time ) | - |
clientId | string | - | - | - | - |
userId | string | - | - | - | - |
traceId | string | - | - | - | - |
sessionId | string | - | - | - | - |
Examples of payload (generated)
{
"payload": {
"client": {
"clientId": "string",
"name": "string",
"clientType": "string",
"baseUri": "string",
"redirectUri": "string",
"secret": "string",
"audiences": [
"string"
],
"clientPlatform": "string",
"twoFactorEnabled": true,
"namespace": "string"
},
"clientThirdParty": {
"platformId": "string",
"appId": "string",
"redirectUri": "string",
"secret": "string",
"active": true
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
Message clientThirdPartyDeleted
Payload
Name | Type | Description | Value | Constraints | Notes |
---|---|---|---|---|---|
(root) | object allOf | - | - | - | additional properties are allowed |
payload | object | - | - | - | additional properties are allowed |
payload.client | object | - | - | - | additional properties are allowed |
payload.client.clientId | string | client id | - | - | - |
payload.client.name | string | client name | - | - | - |
payload.client.clientType | string | client type, Confidential/Public | - | - | - |
payload.client.baseUri | string | base uri of this client | - | - | - |
payload.client.redirectUri | string | redirect uri for server to redirect to after authentication | - | - | - |
payload.client.secret | string | client secret | - | - | - |
payload.client.audiences | array<string> | target client ids who will receive token | - | - | - |
payload.client.audiences (single item) | string | - | - | - | - |
payload.client.clientPlatform | string | third party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo | - | - | - |
payload.client.twoFactorEnabled | boolean | a flag indicates whether tow factor is enabled or not | - | - | - |
payload.client.namespace | string | namespace | - | - | - |
payload.clientThirdParty | object | - | - | - | additional properties are allowed |
payload.clientThirdParty.platformId | string | - | - | - | - |
payload.clientThirdParty.appId | string | - | - | - | - |
payload.clientThirdParty.redirectUri | string | - | - | - | - |
payload.clientThirdParty.secret | string | - | - | - | - |
payload.clientThirdParty.active | boolean | - | - | - | - |
0 (allOf item) | object | - | - | - | additional properties are allowed |
id | string | - | - | - | - |
version | integer | - | - | - | - |
name | string | - | - | - | - |
namespace | string | - | - | - | - |
parentNamespace | string | - | - | - | - |
timestamp | string | - | - | format (date-time ) | - |
clientId | string | - | - | - | - |
userId | string | - | - | - | - |
traceId | string | - | - | - | - |
sessionId | string | - | - | - | - |
Examples of payload (generated)
{
"payload": {
"client": {
"clientId": "string",
"name": "string",
"clientType": "string",
"baseUri": "string",
"redirectUri": "string",
"secret": "string",
"audiences": [
"string"
],
"clientPlatform": "string",
"twoFactorEnabled": true,
"namespace": "string"
},
"clientThirdParty": {
"platformId": "string",
"appId": "string",
"redirectUri": "string",
"secret": "string",
"active": true
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
Message clientThirdPartyUpdated
deprecated
Payload
Name | Type | Description | Value | Constraints | Notes |
---|---|---|---|---|---|
(root) | object allOf | - | - | - | additional properties are allowed |
payload | object | - | - | - | additional properties are allowed |
payload.client | object | - | - | - | additional properties are allowed |
payload.client.clientId | string | client id | - | - | - |
payload.client.name | string | client name | - | - | - |
payload.client.clientType | string | client type, Confidential/Public | - | - | - |
payload.client.baseUri | string | base uri of this client | - | - | - |
payload.client.redirectUri | string | redirect uri for server to redirect to after authentication | - | - | - |
payload.client.secret | string | client secret | - | - | - |
payload.client.audiences | array<string> | target client ids who will receive token | - | - | - |
payload.client.audiences (single item) | string | - | - | - | - |
payload.client.clientPlatform | string | third party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo | - | - | - |
payload.client.twoFactorEnabled | boolean | a flag indicates whether tow factor is enabled or not | - | - | - |
payload.client.namespace | string | namespace | - | - | - |
payload.clientThirdParty | object | - | - | - | additional properties are allowed |
payload.clientThirdParty.platformId | string | - | - | - | - |
payload.clientThirdParty.appId | string | - | - | - | - |
payload.clientThirdParty.redirectUri | string | - | - | - | - |
payload.clientThirdParty.secret | string | - | - | - | - |
payload.clientThirdParty.active | boolean | - | - | - | - |
0 (allOf item) | object | - | - | - | additional properties are allowed |
id | string | - | - | - | - |
version | integer | - | - | - | - |
name | string | - | - | - | - |
namespace | string | - | - | - | - |
parentNamespace | string | - | - | - | - |
timestamp | string | - | - | format (date-time ) | - |
clientId | string | - | - | - | - |
userId | string | - | - | - | - |
traceId | string | - | - | - | - |
sessionId | string | - | - | - | - |
Examples of payload (generated)
{
"payload": {
"client": {
"clientId": "string",
"name": "string",
"clientType": "string",
"baseUri": "string",
"redirectUri": "string",
"secret": "string",
"audiences": [
"string"
],
"clientPlatform": "string",
"twoFactorEnabled": true,
"namespace": "string"
},
"clientThirdParty": {
"platformId": "string",
"appId": "string",
"redirectUri": "string",
"secret": "string",
"active": true
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
PUB clientPermissions
Operation
Accepts one of the following messages:
Message clientPermissionCreated
message is sent when adding permission to oauth client
Payload
Name | Type | Description | Value | Constraints | Notes |
---|---|---|---|---|---|
(root) | object allOf | - | - | - | additional properties are allowed |
payload | object | - | - | - | additional properties are allowed |
payload.client | object | - | - | - | additional properties are allowed |
payload.client.clientId | string | client id | - | - | - |
payload.client.name | string | client name | - | - | - |
payload.client.clientType | string | client type, Confidential/Public | - | - | - |
payload.client.baseUri | string | base uri of this client | - | - | - |
payload.client.redirectUri | string | redirect uri for server to redirect to after authentication | - | - | - |
payload.client.secret | string | client secret | - | - | - |
payload.client.audiences | array<string> | target client ids who will receive token | - | - | - |
payload.client.audiences (single item) | string | - | - | - | - |
payload.client.clientPlatform | string | third party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo | - | - | - |
payload.client.twoFactorEnabled | boolean | a flag indicates whether tow factor is enabled or not | - | - | - |
payload.client.namespace | string | namespace | - | - | - |
payload.permissions | array<object> | - | - | - | - |
payload.permissions.resoure | string | resource | - | - | - |
payload.permissions.action | string | action | - | - | - |
payload.permissions.SchedAction | integer | action, between 1 to 15 | - | - | deprecated |
payload.permissions.SchedCron | string | cron string or date range (both are UTC, also in cron syntax) to indicate when a permission and action are in effect | - | - | deprecated |
payload.permissions.SchedRange | array<string> | start and end date when a permission and action are in effect | - | - | deprecated |
payload.permissions.SchedRange (single item) | string | - | - | - | - |
0 (allOf item) | object | - | - | - | additional properties are allowed |
id | string | - | - | - | - |
version | integer | - | - | - | - |
name | string | - | - | - | - |
namespace | string | - | - | - | - |
parentNamespace | string | - | - | - | - |
timestamp | string | - | - | format (date-time ) | - |
clientId | string | - | - | - | - |
userId | string | - | - | - | - |
traceId | string | - | - | - | - |
sessionId | string | - | - | - | - |
Examples of payload (generated)
{
"payload": {
"client": {
"clientId": "string",
"name": "string",
"clientType": "string",
"baseUri": "string",
"redirectUri": "string",
"secret": "string",
"audiences": [
"string"
],
"clientPlatform": "string",
"twoFactorEnabled": true,
"namespace": "string"
},
"permissions": [
{
"resoure": "string",
"action": "string",
"SchedAction": 0,
"SchedCron": "string",
"SchedRange": [
"string"
]
}
]
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
Message clientPermissionDeleted
message is sent when client's permission is deleted
Payload
Name | Type | Description | Value | Constraints | Notes |
---|---|---|---|---|---|
(root) | object allOf | - | - | - | additional properties are allowed |
payload | object | - | - | - | additional properties are allowed |
payload.client | object | - | - | - | additional properties are allowed |
payload.client.clientId | string | client id | - | - | - |
payload.client.name | string | client name | - | - | - |
payload.client.clientType | string | client type, Confidential/Public | - | - | - |
payload.client.baseUri | string | base uri of this client | - | - | - |
payload.client.redirectUri | string | redirect uri for server to redirect to after authentication | - | - | - |
payload.client.secret | string | client secret | - | - | - |
payload.client.audiences | array<string> | target client ids who will receive token | - | - | - |
payload.client.audiences (single item) | string | - | - | - | - |
payload.client.clientPlatform | string | third party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo | - | - | - |
payload.client.twoFactorEnabled | boolean | a flag indicates whether tow factor is enabled or not | - | - | - |
payload.client.namespace | string | namespace | - | - | - |
payload.permissions | array<object> | - | - | - | - |
payload.permissions.resoure | string | resource | - | - | - |
payload.permissions.action | string | action | - | - | - |
payload.permissions.SchedAction | integer | action, between 1 to 15 | - | - | deprecated |
payload.permissions.SchedCron | string | cron string or date range (both are UTC, also in cron syntax) to indicate when a permission and action are in effect | - | - | deprecated |
payload.permissions.SchedRange | array<string> | start and end date when a permission and action are in effect | - | - | deprecated |
payload.permissions.SchedRange (single item) | string | - | - | - | - |
0 (allOf item) | object | - | - | - | additional properties are allowed |
id | string | - | - | - | - |
version | integer | - | - | - | - |
name | string | - | - | - | - |
namespace | string | - | - | - | - |
parentNamespace | string | - | - | - | - |
timestamp | string | - | - | format (date-time ) | - |
clientId | string | - | - | - | - |
userId | string | - | - | - | - |
traceId | string | - | - | - | - |
sessionId | string | - | - | - | - |
Examples of payload (generated)
{
"payload": {
"client": {
"clientId": "string",
"name": "string",
"clientType": "string",
"baseUri": "string",
"redirectUri": "string",
"secret": "string",
"audiences": [
"string"
],
"clientPlatform": "string",
"twoFactorEnabled": true,
"namespace": "string"
},
"permissions": [
{
"resoure": "string",
"action": "string",
"SchedAction": 0,
"SchedCron": "string",
"SchedRange": [
"string"
]
}
]
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}
Message clientPermissionUpdated
message is sent when client's permission is updated
Payload
Name | Type | Description | Value | Constraints | Notes |
---|---|---|---|---|---|
(root) | object allOf | - | - | - | additional properties are allowed |
payload | object | - | - | - | additional properties are allowed |
payload.client | object | - | - | - | additional properties are allowed |
payload.client.clientId | string | client id | - | - | - |
payload.client.name | string | client name | - | - | - |
payload.client.clientType | string | client type, Confidential/Public | - | - | - |
payload.client.baseUri | string | base uri of this client | - | - | - |
payload.client.redirectUri | string | redirect uri for server to redirect to after authentication | - | - | - |
payload.client.secret | string | client secret | - | - | - |
payload.client.audiences | array<string> | target client ids who will receive token | - | - | - |
payload.client.audiences (single item) | string | - | - | - | - |
payload.client.clientPlatform | string | third party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo | - | - | - |
payload.client.twoFactorEnabled | boolean | a flag indicates whether tow factor is enabled or not | - | - | - |
payload.client.namespace | string | namespace | - | - | - |
payload.permissions | array<object> | - | - | - | - |
payload.permissions.resoure | string | resource | - | - | - |
payload.permissions.action | string | action | - | - | - |
payload.permissions.SchedAction | integer | action, between 1 to 15 | - | - | deprecated |
payload.permissions.SchedCron | string | cron string or date range (both are UTC, also in cron syntax) to indicate when a permission and action are in effect | - | - | deprecated |
payload.permissions.SchedRange | array<string> | start and end date when a permission and action are in effect | - | - | deprecated |
payload.permissions.SchedRange (single item) | string | - | - | - | - |
0 (allOf item) | object | - | - | - | additional properties are allowed |
id | string | - | - | - | - |
version | integer | - | - | - | - |
name | string | - | - | - | - |
namespace | string | - | - | - | - |
parentNamespace | string | - | - | - | - |
timestamp | string | - | - | format (date-time ) | - |
clientId | string | - | - | - | - |
userId | string | - | - | - | - |
traceId | string | - | - | - | - |
sessionId | string | - | - | - | - |
Examples of payload (generated)
{
"payload": {
"client": {
"clientId": "string",
"name": "string",
"clientType": "string",
"baseUri": "string",
"redirectUri": "string",
"secret": "string",
"audiences": [
"string"
],
"clientPlatform": "string",
"twoFactorEnabled": true,
"namespace": "string"
},
"permissions": [
{
"resoure": "string",
"action": "string",
"SchedAction": 0,
"SchedCron": "string",
"SchedRange": [
"string"
]
}
]
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}