# Social Login

Login users using social login providers like Google Sign-In. This implements a backend-to-backend integration for authentication. Irrespective of the social login provider, the flow includes three steps: initiating a login, submitting the received code to Mosaic, and finally completing authentication with Mosaic.


## Servers

Sandbox environment
```
https://api.sbx.transmitsecurity.io/cis
```

US production environment
```
https://api.transmitsecurity.io/cis
```

EU production environment
```
https://api.eu.transmitsecurity.io/cis
```

CA production environment
```
https://api.ca.transmitsecurity.io/cis
```

AU production environment
```
https://api.au.transmitsecurity.io/cis
```

JP production environment
```
https://api.gasne1-ts01.transmitsecurity.io/cis
```

## Security

### bearer

Type: http
Scheme: bearer
Bearer Format: JWT

### UserAccessToken

A token returned upon end-user authentication, which provides access to resources and data for the user and app for which it was generated

Type: http
Scheme: bearer
Bearer Format: JWT

### AdminAccessToken

[object Object]

Type: oauth2
Token URL: /oidc/token
Scopes:

### ClientAccessToken

[object Object]

Type: oauth2
Token URL: /oidc/token
Scopes:

### OrgAdminAccessToken

A token returned upon B2B authentication for a user that has the organizationAdmin or organizationCreator role.

Type: oauth2
Token URL: /oidc/token
Scopes:

## Download OpenAPI description

 - [Social Login](https://developer.transmitsecurity.com/_bundle/openapi/user/backend-social-login.openapi.yaml)

 - [POST /v1/auth/social/google/start](https://developer.transmitsecurity.com/openapi/user/backend-social-login.openapi/other/initgooglelogin.md): Starts the Google login flow. This call returns an authorization URL to redirect the user to.
 - [POST /v1/auth/social/google/authenticate](https://developer.transmitsecurity.com/openapi/user/backend-social-login.openapi/other/authenticategooglelogin.md): Completes the Google social login flow and authenticates the user in Mosaic.
 - [POST /v1/auth/social/facebook/start](https://developer.transmitsecurity.com/openapi/user/backend-social-login.openapi/other/initfacebooklogin.md): Starts the Facebook login flow. This call returns an authorization URL to redirect the user to.
 - [POST /v1/auth/social/facebook/authenticate](https://developer.transmitsecurity.com/openapi/user/backend-social-login.openapi/other/authenticatefacebooklogin.md): Completes the Facebook social login flow and authenticates the user in Mosaic.
 - [POST /v1/auth/social/apple/start](https://developer.transmitsecurity.com/openapi/user/backend-social-login.openapi/other/initapplelogin.md): Starts the Apple login flow. This call returns an authorization URL to redirect the user to.
 - [POST /v1/auth/social/apple/authenticate](https://developer.transmitsecurity.com/openapi/user/backend-social-login.openapi/other/authenticateapplelogin.md): Completes the Apple social login flow and authenticates the user in Mosaic.
 - [POST /v1/auth/social/tiktok/start](https://developer.transmitsecurity.com/openapi/user/backend-social-login.openapi/other/inittiktoklogin.md): Starts the Tiktok login flow. This call returns an authorization URL to redirect the user to.
 - [POST /v1/auth/social/tiktok/authenticate](https://developer.transmitsecurity.com/openapi/user/backend-social-login.openapi/other/authenticatetiktoklogin.md): Completes the Tiktok social login flow and authenticates the user in Mosaic.
 - [POST /v1/auth/social/google/validate](https://developer.transmitsecurity.com/openapi/user/backend-social-login.openapi/other/verifygooglecallback.md): Submits all parameters received from the Google callback to exchange for user identity information
 - [POST /v1/auth/social/facebook/validate](https://developer.transmitsecurity.com/openapi/user/backend-social-login.openapi/other/verifyfacebookcallback.md): Submits all parameters received from the Facebook callback to exchange for user identity information
 - [POST /v1/auth/social/apple/validate](https://developer.transmitsecurity.com/openapi/user/backend-social-login.openapi/other/verifyapplecallback.md): Submits all parameters received from the Apple callback to exchange for user identity information
 - [POST /v1/auth/social/tiktok/validate](https://developer.transmitsecurity.com/openapi/user/backend-social-login.openapi/other/verifytiktokcallback.md): Submits all parameters received from the TikTok callback to exchange for user identity information
