83 lines
2.0 KiB
Markdown
83 lines
2.0 KiB
Markdown
# OpenID Endpoints
|
|
|
|
## Used Models
|
|
- [SingleValueResult](../../models.md#singlevalueresult)
|
|
|
|
## API Endpoint: RedirectToProvider
|
|
|
|
**Endpoint:** `GET /api/v1/openid/redirect`
|
|
|
|
**Description:** Redirects the user to the OpenID provider's authorization endpoint.
|
|
|
|
**Authorization Required:** No
|
|
|
|
**Parameters:**
|
|
- **redirectAfter** (query, optional): The URL to redirect to after authentication.
|
|
- **performRedirect** (query, optional): A flag to indicate if the user should be redirected (default is 1).
|
|
|
|
**Response:**
|
|
- **302 Found:** Redirects the user to the OpenID provider's authorization endpoint.
|
|
- **200 OK:** Returns the constructed authorization URI.
|
|
```json
|
|
{
|
|
"value": "string"
|
|
}
|
|
```
|
|
|
|
## API Endpoint: Callback
|
|
|
|
**Endpoint:** `GET /api/v1/openid/callback`
|
|
|
|
**Description:** Handles the callback from the OpenID provider and exchanges the authorization code for tokens.
|
|
|
|
**Authorization Required:** No
|
|
|
|
**Parameters:**
|
|
- **code** (query, required): The authorization code received from the OpenID provider.
|
|
- **state** (query, optional): The state parameter to handle the redirect after authentication.
|
|
|
|
**Response:**
|
|
- **200 OK:** Returns the access token.
|
|
```json
|
|
{
|
|
"value": "string"
|
|
}
|
|
```
|
|
- **400 Bad Request:** Authorization code is missing.
|
|
- **403 Forbidden:** Authorization code is not valid.
|
|
|
|
## API Endpoint: Refresh
|
|
|
|
**Endpoint:** `GET /api/v1/openid/refresh`
|
|
|
|
**Description:** Refreshes the access token using the refresh token.
|
|
|
|
**Authorization Required:** Yes
|
|
|
|
**Parameters:**
|
|
- None
|
|
|
|
**Response:**
|
|
- **200 OK:** Returns the refreshed access token.
|
|
```json
|
|
{
|
|
"value": "string"
|
|
}
|
|
```
|
|
- **400 Bad Request:** Refresh token not provided.
|
|
- **409 Conflict**: Refresh token not valid.
|
|
|
|
## API Endpoint: Logout
|
|
|
|
**Endpoint:** `DELETE /api/v1/openid/logout`
|
|
|
|
**Description:** Logs out the user by deleting the authentication cookies.
|
|
|
|
**Authorization Required:** Yes
|
|
|
|
**Parameters:**
|
|
- None
|
|
|
|
**Response:**
|
|
- **200 OK:** User is logged out successfully.
|