mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
Docs: Improve oauth configuration documentation and examples (#7675)
### What problem does this PR solve? Improve oauth configuration documentation and examples. - Related pull requests: - #7379 - #7553 - #7587 - Related issues: - #3495 ### Type of change - [x] Documentation Update
This commit is contained in:
@ -164,23 +164,52 @@ If you cannot download the RAGFlow Docker image, try the following mirrors.
|
||||
|
||||
### `oauth`
|
||||
|
||||
The OAuth configuration for signing up or signing in to RAGFlow using a third-party account. It is disabled by default. To enable this feature, uncomment the corresponding lines in **service_conf.yaml.template**.
|
||||
The OAuth configuration for signing up or signing in to RAGFlow using a third-party account.
|
||||
|
||||
- `github`: The GitHub authentication settings for your application. Visit the [GitHub Developer Settings](https://github.com/settings/developers) page to obtain your client_id and secret_key.
|
||||
- `<channel>`: Custom channel ID.
|
||||
- `type`: Authentication type, options include `oauth2`, `oidc`, `github`. Default is `oauth2`, when `issuer` parameter is provided, defaults to `oidc`.
|
||||
- `icon`: Icon ID, options include `github`, `sso`, default is `sso`.
|
||||
- `display_name`: Channel name, defaults to the Title Case format of the channel ID.
|
||||
- `client_id`: Required, unique identifier assigned to the client application.
|
||||
- `client_secret`: Required, secret key for the client application, used for communication with the authentication server.
|
||||
- `authorization_url`: Base URL for obtaining user authorization.
|
||||
- `token_url`: URL for exchanging authorization code and obtaining access token.
|
||||
- `userinfo_url`: URL for obtaining user information (username, email, etc.).
|
||||
- `issuer`: Base URL of the identity provider. OIDC clients can dynamically obtain the identity provider's metadata (`authorization_url`, `token_url`, `userinfo_url`) through `issuer`.
|
||||
- `scope`: Requested permission scope, a space-separated string. For example, `openid profile email`.
|
||||
- `redirect_uri`: Required, URI to which the authorization server redirects during the authentication flow to return results. Must match the callback URI registered with the authentication server. Format: `https://your-app.com/v1/user/oauth/callback/<channel>`. For local configuration, you can directly use `http://127.0.0.1:80/v1/user/oauth/callback/<channel>`.
|
||||
|
||||
#### OAuth/OIDC
|
||||
:::tip NOTE
|
||||
The following are best practices for configuring various third-party authentication methods. You can configure one or multiple third-party authentication methods for Ragflow:
|
||||
```yaml
|
||||
oauth:
|
||||
oauth2:
|
||||
display_name: "OAuth2"
|
||||
client_id: "your_client_id"
|
||||
client_secret: "your_client_secret"
|
||||
authorization_url: "https://your-oauth-provider.com/oauth/authorize"
|
||||
token_url: "https://your-oauth-provider.com/oauth/token"
|
||||
userinfo_url: "https://your-oauth-provider.com/oauth/userinfo"
|
||||
redirect_uri: "https://your-app.com/v1/user/oauth/callback/oauth2"
|
||||
|
||||
RAGFlow supports OAuth/OIDC authentication through the following routes:
|
||||
oidc:
|
||||
display_name: "OIDC"
|
||||
client_id: "your_client_id"
|
||||
client_secret: "your_client_secret"
|
||||
issuer: "https://your-oauth-provider.com/oidc"
|
||||
scope: "openid email profile"
|
||||
redirect_uri: "https://your-app.com/v1/user/oauth/callback/oidc"
|
||||
|
||||
- `/login/<channel>`: Initiates the OAuth flow for the specified channel
|
||||
- `/oauth/callback/<channel>`: Handles the OAuth callback after successful authentication
|
||||
|
||||
The callback URL should be configured in your OAuth provider as:
|
||||
github:
|
||||
# https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app
|
||||
type: "github"
|
||||
icon: "github"
|
||||
display_name: "Github"
|
||||
client_id: "your_client_id"
|
||||
client_secret: "your_client_secret"
|
||||
redirect_uri: "https://your-app.com/v1/user/oauth/callback/github"
|
||||
```
|
||||
https://your-app.com/oauth/callback/<channel>
|
||||
```
|
||||
|
||||
For detailed instructions on configuring **service_conf.yaml.template**, please refer to [Usage](https://github.com/infiniflow/ragflow/blob/main/api/apps/auth/README.md#usage).
|
||||
:::
|
||||
|
||||
### `user_default_llm`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user