Skip to content

Commit

Permalink
Add new version 2021-03-31-preview1 for ACS Auth (#13965)
Browse files Browse the repository at this point in the history
* Add new version 2021-03-31-preview

* Set required body

* Add all paths to new version

* Update description for property of TeamsAccessTokenRequest model

* Change version from 2021-03-31-preview to 2021-03-31-preview1 following standards https://skype.visualstudio.com/SPOOL/_wiki/wikis/SPOOL.wiki/16790/Versioning

* Rename folder

* Update method description

* remove Turn endpoint

* Add examples

* Update readme

* Omit the word "skypetoken" from swagger

* Link example

* Update description and path for a new endpoint

Co-authored-by: Alexandra Lamiova Pistrakova <apistrak@microsoft.com>
  • Loading branch information
alexandra142 and Alexandra Lamiova Pistrakova authored Apr 27, 2021
1 parent 0cfe59f commit 146cc17
Show file tree
Hide file tree
Showing 7 changed files with 467 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,372 @@
{
"swagger": "2.0",
"info": {
"title": "CommunicationIdentityClient",
"description": "Azure Communication Identity Service",
"version": "2021-03-31-preview1"
},
"paths": {
"/identities": {
"post": {
"tags": [
"Identity"
],
"summary": "Create a new identity.",
"operationId": "CommunicationIdentity_Create",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"in": "body",
"name": "body",
"schema": {
"$ref": "#/definitions/CommunicationIdentityCreateRequest"
}
}
],
"responses": {
"default": {
"description": "Error",
"schema": {
"$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
}
},
"201": {
"description": "Created - Returns the created identity.",
"schema": {
"$ref": "#/definitions/CommunicationIdentityAccessTokenResult"
}
}
},
"x-ms-examples": {
"Create an Identity": {
"$ref": "./examples/CreateIdentity.json"
}
}
}
},
"/identities/{id}": {
"delete": {
"tags": [
"Identity"
],
"summary": "Delete the identity, revoke all tokens for the identity and delete all associated data.",
"operationId": "CommunicationIdentity_Delete",
"produces": [
"application/json"
],
"parameters": [
{
"in": "path",
"name": "id",
"description": "Identifier of the identity to be deleted.",
"required": true,
"type": "string"
},
{
"$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"default": {
"description": "Error",
"schema": {
"$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
}
},
"204": {
"description": "Success"
}
},
"x-ms-examples": {
"Delete an identity": {
"$ref": "./examples/DeleteIdentity.json"
}
}
}
},
"/identities/{id}/:revokeAccessTokens": {
"post": {
"tags": [
"Identity"
],
"summary": "Revoke all access tokens for the specific identity.",
"operationId": "CommunicationIdentity_RevokeAccessTokens",
"produces": [
"application/json"
],
"parameters": [
{
"in": "path",
"name": "id",
"description": "Identifier of the identity.",
"required": true,
"type": "string"
},
{
"$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"default": {
"description": "Error",
"schema": {
"$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
}
},
"204": {
"description": "Success"
}
},
"x-ms-examples": {
"Revoke access tokens": {
"$ref": "./examples/RevokeAccessTokens.json"
}
}
}
},
"/teams/me/:issueAccessToken": {
"post": {
"tags": [
"TeamsToken"
],
"summary": "Issue a new token for a Teams user.",
"operationId": "CommunicationIdentity_IssueTeamsToken",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/TeamsAccessTokenRequest"
}
}
],
"responses": {
"default": {
"description": "Error",
"schema": {
"$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
}
},
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/CommunicationIdentityAccessToken"
}
}
},
"x-ms-examples": {
"Issue Teams token": {
"$ref": "./examples/IssueTeamsToken.json"
}
}
}
},
"/identities/{id}/:issueAccessToken": {
"post": {
"tags": [
"Token"
],
"summary": "Issue a new token for an identity.",
"operationId": "CommunicationIdentity_IssueAccessToken",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "path",
"name": "id",
"description": "Identifier of the identity to issue token for.",
"required": true,
"type": "string"
},
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"in": "body",
"name": "body",
"description": "Requesting scopes for the new token.",
"required": true,
"schema": {
"$ref": "#/definitions/CommunicationIdentityAccessTokenRequest"
}
}
],
"responses": {
"default": {
"description": "Error",
"schema": {
"$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
}
},
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/CommunicationIdentityAccessToken"
}
}
},
"x-ms-examples": {
"Issue an access token": {
"$ref": "./examples/IssueAccessToken.json"
}
}
}
}
},
"definitions": {
"CommunicationIdentityTokenScope": {
"description": "List of scopes for an access token.",
"enum": [
"chat",
"voip"
],
"type": "string",
"x-ms-enum": {
"name": "CommunicationIdentityTokenScope",
"modelAsString": true
}
},
"CommunicationIdentityCreateRequest": {
"type": "object",
"properties": {
"createTokenWithScopes": {
"description": "Also create access token for the created identity.",
"type": "array",
"items": {
"$ref": "#/definitions/CommunicationIdentityTokenScope"
}
}
}
},
"CommunicationIdentity": {
"description": "A communication identity.",
"required": [
"id"
],
"type": "object",
"properties": {
"id": {
"description": "Identifier of the identity.",
"type": "string"
}
}
},
"CommunicationIdentityAccessToken": {
"description": "An access token.",
"required": [
"expiresOn",
"token"
],
"type": "object",
"properties": {
"token": {
"description": "The access token issued for the identity.",
"type": "string"
},
"expiresOn": {
"format": "date-time",
"description": "The expiry time of the token.",
"type": "string"
}
}
},
"CommunicationIdentityAccessTokenResult": {
"description": "A communication identity with access token.",
"required": [
"identity"
],
"type": "object",
"properties": {
"identity": {
"$ref": "#/definitions/CommunicationIdentity"
},
"accessToken": {
"$ref": "#/definitions/CommunicationIdentityAccessToken"
}
}
},
"TeamsAccessTokenRequest": {
"required": [
"token"
],
"type": "object",
"properties": {
"token": {
"description": "Azure Active Directory access token to acquire a new M365 access token.",
"type": "string"
}
}
},
"CommunicationIdentityAccessTokenRequest": {
"required": [
"scopes"
],
"type": "object",
"properties": {
"scopes": {
"description": "List of scopes attached to the token.",
"type": "array",
"items": {
"$ref": "#/definitions/CommunicationIdentityTokenScope"
}
}
}
}
},
"parameters": {
"ApiVersionParameter": {
"in": "query",
"name": "api-version",
"description": "Version of API to invoke.",
"required": true,
"type": "string"
}
},
"securityDefinitions": {
"azure_auth": {
"type": "oauth2",
"flow": "implicit",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"scopes": {
"user_impersonation": "impersonate your user account"
}
}
},
"x-ms-parameterized-host": {
"hostTemplate": "{endpoint}",
"useSchemePrefix": false,
"parameters": [
{
"name": "endpoint",
"description": "The communication resource, for example https://my-resource.communication.azure.com",
"required": true,
"type": "string",
"in": "path",
"x-ms-skip-url-encoding": true,
"x-ms-parameter-location": "client"
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"parameters": {
"api-version": "2021-03-31-preview1",
"content-type": "application/json",
"endpoint": "https://my-resource.communication.azure.com",
"body": {
"createTokenWithScopes": [
"chat"
]
}
},
"responses": {
"201": {
"body": {
"identity": {
"id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081"
},
"accessToken": {
"token": "token",
"expiresOn": "2020-09-10T21:39:39.3244584+00:00"
}
}
}
}
}
Loading

0 comments on commit 146cc17

Please sign in to comment.