Skip to main content

IAM Service OAuth 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: oauth.proto

Table of Contents

Operations

PUB oauthRequest Operation

Message oauthRequestAuthorized

message is sent when user initializes OAuth 2.0 authorization code flow

Payload
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.oauthobject---additional properties are allowed
payload.oauth.clientIdstringoauth client id---
payload.oauth.responseTypestringresponse type, code/token---
payload.oauth.platformIdstringthird party platform id---
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": {
"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
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.oauthobject---additional properties are allowed
payload.oauth.clientIdstringoauth client id---
payload.oauth.responseTypestringresponse type, code/token---
payload.oauth.platformIdstringthird party platform id---
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": {
"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
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.oauthobject---additional properties are allowed
payload.oauth.clientIdstringoauth client id---
payload.oauth.responseTypestringresponse type, code/token---
payload.oauth.platformIdstringthird party platform id---
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": {
"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
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.oauthobject---additional properties are allowed
payload.oauth.clientIdstringoauth client id---
payload.oauth.responseTypestringresponse type, code/token---
payload.oauth.platformIdstringthird party platform id---
payload.oauthThirdPartyobject---additional properties are allowed
payload.oauthThirdParty.platformIdstringthird party platform id---
payload.oauthThirdParty.displayNamestringdisplay name---
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": {
"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
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.oauthobject---additional properties are allowed
payload.oauth.clientIdstringoauth client id---
payload.oauth.responseTypestringresponse type, code/token---
payload.oauth.platformIdstringthird party platform id---
payload.oauthThirdPartyobject---additional properties are allowed
payload.oauthThirdParty.platformIdstringthird party platform id---
payload.oauthThirdParty.displayNamestringdisplay name---
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": {
"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"
}