Authorization Service


Authorization Service


Authorizes a user and returns a token for further API calls
 Resource: authorize 

URLhttps://api-stage.bimplus.net/v2/authorize

JSON Structure

Name

Mandatory / Optional

Type

Description

user_id

mandatory

string

The email address of the user

password

mandatory

string

The user's password

client_id

optional

string

The identifier of the used client

application_id

optional

string

The id of the application

 POST
 Authorizes a user and returns a token for further API calls.

Please, use the client_id from the request and regenerate the token (using the same API call with client_id as the additional parameter) for having the possibility to login multiple times at the same time. For more information, see here

Content-Type: application/json
{
 "user_id" : "test@bimplus.net",
 "password" : "test"
}
Status: 200 OK
{
"access_token": "9c1874a62c974dcfa75e0132c423a088",
"expires_in": 2591999,
"client_id": "9fd0bb9d-570b-4719-bfae-93e2f879c19a",
"token_type": "BimPlus"
}

Get token information
 Resource: authorize

URLhttps://api-stage.bimplus.net/v2/authorize 

 GET
 Get information about a specified token(if the specified token exists and not expired).
Content-Type: application/json

Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Status: 200 OK
{
    "user_id": "b37b60d4-0f1b-4158-99c4-847254786517",
    "audience": "00000000-0000-0000-0000-000000000000",
    "expires_in": 2271650

} 

where,

Name

Type

Description

user_id

string

The unique user id to be used for any further API calls.

expires_in

string

The remaining lifetime on the access token in seconds

audience

string

In our case the id of the client (Mobile app, Browser …)

Request a cross token
 Resource: cross-token

URLhttps://api-stage.bimplus.net/v2/cross-token

 POST
 This service is basically used for requesting a disposable temporary token which will be used for authenticating against different clients. Based on the given authentication token the user is identified and a one time token is generated and returned.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Status: 200 OK
{
cross_token: "b392cee4d0044ef681fa911772668cf9"
expires_in: 299
token_type: "BimPlus"
}

where,

Name

Type

Description

cross_token

string

The temporary token which will be used for cross-authenticate

expires_in

string

The remaining lifetime on the access token in seconds

token_type

string

Type of the token which will be used as part of the header

Cross Authenticate by using cross token
 Resource: cross-authorize

URLhttps://api-stage.bimplus.net/v2/cross-authorize

JSON Structure:

Name

Mandatory / Optional

Type

Description

cross_token

mandatory

string

The temporary token which will be used for cross-authenticate

client_id

optional

string

The identifier of the used client

team_id

optional

string

The id of the team

project_id

optional

string

The id of the project

application_id

optional

string

The id of the application

 POST
 Based on the one time cross token, the user will be identified and logged in to the given device/client. The one time cross token will be removed but the new token which will be generated as a result of this call be used in the header for the subsequent API calls.

The team_id and project_id information can be provided as part of the call, if the user wants to work on or display(viewer) a particular team or an project.

Content-Type: application/json
{
"cross_token": "b392cee4d0044ef681fa911772668cf9"
}

Status: 200 OK
{
"access_token": "43796fab76d54d2c9cb9120fd7d79c9e",
"expires_in": 2591999,
"client_id": "9fd0bb9d-570b-4719-bfae-93e2f879c19a",
"token_type": "BimPlus"
}

Revoke / Expire the token
Resource: authorize

URLhttps://api-stage.bimplus.net/v2/authorize 

 DELETE
 The specified token will expire immediately.
Content-Type: application/json

Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Status: 200 OK