Skip to main content

IAM Service Client Events 0.1.0 documentation

info

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
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.clientobject---additional properties are allowed
payload.client.clientIdstringclient id---
payload.client.namestringclient name---
payload.client.clientTypestringclient type, Confidential/Public---
payload.client.baseUristringbase uri of this client---
payload.client.redirectUristringredirect uri for server to redirect to after authentication---
payload.client.secretstringclient secret---
payload.client.audiencesarray<string>target client ids who will receive token---
payload.client.audiences (single item)string----
payload.client.clientPlatformstringthird party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo---
payload.client.twoFactorEnabledbooleana flag indicates whether tow factor is enabled or not---
payload.client.namespacestringnamespace---
payload.client.parentNamespacestringstudio/publisher namespace in multi tenant mode---
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstring----
traceIdstring----
sessionIdstring----

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
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.clientobject---additional properties are allowed
payload.client.clientIdstringclient id---
payload.client.namestringclient name---
payload.client.clientTypestringclient type, Confidential/Public---
payload.client.baseUristringbase uri of this client---
payload.client.redirectUristringredirect uri for server to redirect to after authentication---
payload.client.secretstringclient secret---
payload.client.audiencesarray<string>target client ids who will receive token---
payload.client.audiences (single item)string----
payload.client.clientPlatformstringthird party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo---
payload.client.twoFactorEnabledbooleana flag indicates whether tow factor is enabled or not---
payload.client.namespacestringnamespace---
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstring----
traceIdstring----
sessionIdstring----

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
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.clientobject---additional properties are allowed
payload.client.clientIdstringclient id---
payload.client.namestringclient name---
payload.client.clientTypestringclient type, Confidential/Public---
payload.client.baseUristringbase uri of this client---
payload.client.redirectUristringredirect uri for server to redirect to after authentication---
payload.client.secretstringclient secret---
payload.client.audiencesarray<string>target client ids who will receive token---
payload.client.audiences (single item)string----
payload.client.clientPlatformstringthird party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo---
payload.client.twoFactorEnabledbooleana flag indicates whether tow factor is enabled or not---
payload.client.namespacestringnamespace---
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstring----
traceIdstring----
sessionIdstring----

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
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.clientobject---additional properties are allowed
payload.client.clientIdstringclient id---
payload.client.namestringclient name---
payload.client.clientTypestringclient type, Confidential/Public---
payload.client.baseUristringbase uri of this client---
payload.client.redirectUristringredirect uri for server to redirect to after authentication---
payload.client.secretstringclient secret---
payload.client.audiencesarray<string>target client ids who will receive token---
payload.client.audiences (single item)string----
payload.client.clientPlatformstringthird party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo---
payload.client.twoFactorEnabledbooleana flag indicates whether tow factor is enabled or not---
payload.client.namespacestringnamespace---
payload.clientThirdPartyobject---additional properties are allowed
payload.clientThirdParty.platformIdstring----
payload.clientThirdParty.appIdstring----
payload.clientThirdParty.redirectUristring----
payload.clientThirdParty.secretstring----
payload.clientThirdParty.activeboolean----
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstring----
traceIdstring----
sessionIdstring----

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
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.clientobject---additional properties are allowed
payload.client.clientIdstringclient id---
payload.client.namestringclient name---
payload.client.clientTypestringclient type, Confidential/Public---
payload.client.baseUristringbase uri of this client---
payload.client.redirectUristringredirect uri for server to redirect to after authentication---
payload.client.secretstringclient secret---
payload.client.audiencesarray<string>target client ids who will receive token---
payload.client.audiences (single item)string----
payload.client.clientPlatformstringthird party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo---
payload.client.twoFactorEnabledbooleana flag indicates whether tow factor is enabled or not---
payload.client.namespacestringnamespace---
payload.clientThirdPartyobject---additional properties are allowed
payload.clientThirdParty.platformIdstring----
payload.clientThirdParty.appIdstring----
payload.clientThirdParty.redirectUristring----
payload.clientThirdParty.secretstring----
payload.clientThirdParty.activeboolean----
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstring----
traceIdstring----
sessionIdstring----

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
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.clientobject---additional properties are allowed
payload.client.clientIdstringclient id---
payload.client.namestringclient name---
payload.client.clientTypestringclient type, Confidential/Public---
payload.client.baseUristringbase uri of this client---
payload.client.redirectUristringredirect uri for server to redirect to after authentication---
payload.client.secretstringclient secret---
payload.client.audiencesarray<string>target client ids who will receive token---
payload.client.audiences (single item)string----
payload.client.clientPlatformstringthird party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo---
payload.client.twoFactorEnabledbooleana flag indicates whether tow factor is enabled or not---
payload.client.namespacestringnamespace---
payload.clientThirdPartyobject---additional properties are allowed
payload.clientThirdParty.platformIdstring----
payload.clientThirdParty.appIdstring----
payload.clientThirdParty.redirectUristring----
payload.clientThirdParty.secretstring----
payload.clientThirdParty.activeboolean----
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstring----
traceIdstring----
sessionIdstring----

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
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.clientobject---additional properties are allowed
payload.client.clientIdstringclient id---
payload.client.namestringclient name---
payload.client.clientTypestringclient type, Confidential/Public---
payload.client.baseUristringbase uri of this client---
payload.client.redirectUristringredirect uri for server to redirect to after authentication---
payload.client.secretstringclient secret---
payload.client.audiencesarray<string>target client ids who will receive token---
payload.client.audiences (single item)string----
payload.client.clientPlatformstringthird party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo---
payload.client.twoFactorEnabledbooleana flag indicates whether tow factor is enabled or not---
payload.client.namespacestringnamespace---
payload.permissionsarray<object>----
payload.permissions.resourestringresource---
payload.permissions.actionstringaction---
payload.permissions.SchedActionintegeraction, between 1 to 15--deprecated
payload.permissions.SchedCronstringcron string or date range (both are UTC, also in cron syntax) to indicate when a permission and action are in effect--deprecated
payload.permissions.SchedRangearray<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
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstring----
traceIdstring----
sessionIdstring----

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
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.clientobject---additional properties are allowed
payload.client.clientIdstringclient id---
payload.client.namestringclient name---
payload.client.clientTypestringclient type, Confidential/Public---
payload.client.baseUristringbase uri of this client---
payload.client.redirectUristringredirect uri for server to redirect to after authentication---
payload.client.secretstringclient secret---
payload.client.audiencesarray<string>target client ids who will receive token---
payload.client.audiences (single item)string----
payload.client.clientPlatformstringthird party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo---
payload.client.twoFactorEnabledbooleana flag indicates whether tow factor is enabled or not---
payload.client.namespacestringnamespace---
payload.permissionsarray<object>----
payload.permissions.resourestringresource---
payload.permissions.actionstringaction---
payload.permissions.SchedActionintegeraction, between 1 to 15--deprecated
payload.permissions.SchedCronstringcron string or date range (both are UTC, also in cron syntax) to indicate when a permission and action are in effect--deprecated
payload.permissions.SchedRangearray<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
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstring----
traceIdstring----
sessionIdstring----

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
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.clientobject---additional properties are allowed
payload.client.clientIdstringclient id---
payload.client.namestringclient name---
payload.client.clientTypestringclient type, Confidential/Public---
payload.client.baseUristringbase uri of this client---
payload.client.redirectUristringredirect uri for server to redirect to after authentication---
payload.client.secretstringclient secret---
payload.client.audiencesarray<string>target client ids who will receive token---
payload.client.audiences (single item)string----
payload.client.clientPlatformstringthird party platform that will use this client, Playstation/Xbox/Steam/Epic/IOS/GooglePlay/Nintendo---
payload.client.twoFactorEnabledbooleana flag indicates whether tow factor is enabled or not---
payload.client.namespacestringnamespace---
payload.permissionsarray<object>----
payload.permissions.resourestringresource---
payload.permissions.actionstringaction---
payload.permissions.SchedActionintegeraction, between 1 to 15--deprecated
payload.permissions.SchedCronstringcron string or date range (both are UTC, also in cron syntax) to indicate when a permission and action are in effect--deprecated
payload.permissions.SchedRangearray<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
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstring----
traceIdstring----
sessionIdstring----

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"
}