IAM Service OAuth 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: oauth.proto
Table of Contents
Operations
PUB oauthRequest
Operation
Message oauthRequestAuthorized
message is sent when user initializes OAuth 2.0 authorization code flow
Payload
Name | Type | Description | Value | Constraints | Notes |
---|---|---|---|---|---|
(root) | object allOf | - | - | - | additional properties are allowed |
payload | object | - | - | - | additional properties are allowed |
payload.oauth | object | - | - | - | additional properties are allowed |
payload.oauth.clientId | string | oauth client id | - | - | - |
payload.oauth.responseType | string | response type, code/token | - | - | - |
payload.oauth.platformId | string | third party platform id | - | - | - |
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": {
"oauth": {
"clientId": "string",
"responseType": "string",
"platformId": "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 oauthToken
Operation
Accepts one of the following messages:
Message oauthTokenGenerated
message is sent after user successfully login/refresh token(not login by third party)
Payload
Name | Type | Description | Value | Constraints | Notes |
---|---|---|---|---|---|
(root) | object allOf | - | - | - | additional properties are allowed |
payload | object | - | - | - | additional properties are allowed |
payload.oauth | object | - | - | - | additional properties are allowed |
payload.oauth.clientId | string | oauth client id | - | - | - |
payload.oauth.responseType | string | response type, code/token | - | - | - |
payload.oauth.platformId | string | third party platform id | - | - | - |
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": {
"oauth": {
"clientId": "string",
"responseType": "string",
"platformId": "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 oauthTokenRevoked
message is sent after user is revoked or token is revoked
Payload
Name | Type | Description | Value | Constraints | Notes |
---|---|---|---|---|---|
(root) | object allOf | - | - | - | additional properties are allowed |
payload | object | - | - | - | additional properties are allowed |
payload.oauth | object | - | - | - | additional properties are allowed |
payload.oauth.clientId | string | oauth client id | - | - | - |
payload.oauth.responseType | string | response type, code/token | - | - | - |
payload.oauth.platformId | string | third party platform id | - | - | - |
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": {
"oauth": {
"clientId": "string",
"responseType": "string",
"platformId": "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 oauthThirdPartyRequest
Operation
Message oauthThirdPartyRequestAuthorized
message is sent after user initializes third party authorization
Payload
Name | Type | Description | Value | Constraints | Notes |
---|---|---|---|---|---|
(root) | object allOf | - | - | - | additional properties are allowed |
payload | object | - | - | - | additional properties are allowed |
payload.oauth | object | - | - | - | additional properties are allowed |
payload.oauth.clientId | string | oauth client id | - | - | - |
payload.oauth.responseType | string | response type, code/token | - | - | - |
payload.oauth.platformId | string | third party platform id | - | - | - |
payload.oauthThirdParty | object | - | - | - | additional properties are allowed |
payload.oauthThirdParty.platformId | string | third party platform id | - | - | - |
payload.oauthThirdParty.displayName | string | display name | - | - | - |
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": {
"oauth": {
"clientId": "string",
"responseType": "string",
"platformId": "string"
},
"oauthThirdParty": {
"platformId": "string",
"displayName": "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 oauthThirdPartyToken
Operation
Message oauthThirdPartyTokenGenerated
message is sent after user successfully login with third party account
Payload
Name | Type | Description | Value | Constraints | Notes |
---|---|---|---|---|---|
(root) | object allOf | - | - | - | additional properties are allowed |
payload | object | - | - | - | additional properties are allowed |
payload.oauth | object | - | - | - | additional properties are allowed |
payload.oauth.clientId | string | oauth client id | - | - | - |
payload.oauth.responseType | string | response type, code/token | - | - | - |
payload.oauth.platformId | string | third party platform id | - | - | - |
payload.oauthThirdParty | object | - | - | - | additional properties are allowed |
payload.oauthThirdParty.platformId | string | third party platform id | - | - | - |
payload.oauthThirdParty.displayName | string | display name | - | - | - |
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": {
"oauth": {
"clientId": "string",
"responseType": "string",
"platformId": "string"
},
"oauthThirdParty": {
"platformId": "string",
"displayName": "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"
}