---
order: 1
navTitle: 访问授权页面
---
# 访问授权页面

用于显示一个授权页面提示用户授权第三方应用使用本系统用户进行登录。

当用户在浏览器中第一次访问第三方应用时，第三方应用发送重定向请求到`/api/oauth2/authorize`，并带上相关参数，浏览器会显示一个提示用户进行授权登录的页面，用户确认授权后会再次重定向到用户最初访问的URL完成单点登录过程。

## 调用方式

请求方式：`GET`\
请求url：`/api/oauth2/authorize`

url参数说明：

| 参数          | 必须 | 说明                                                                                                                                                                 |
| :------------ | :--- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| redirect\_uri  | 是   | 授权成功后回调地址，需要与应用所配置域名在同一个域中，需要进行[URL转义](https://tool.chinaz.com/tools/urlencode.aspx)                                                |
| appid         | 是   | 应用ID，支持[静默授权应用](../trustedapps/README.md#静默授权应用)和[开放授权信应用](../trustedapps/README.md#开放授权应用) |
| state         | 否   | 状态码，传递一个随机数即可，用来防止CRSF攻击                                                                                                                         |

示例：

```bash
http://example.bi.com/api/oauth2/redirect_uri?redirect=http%3A%2F%2Fexample.com%2Fxm&appid=xxxx&state=xrtcyubi
```

## 返回值说明

对于[开放授权信应用](../trustedapps/README.md#开放授权应用)此API显示一个html页面，提示用户授权，用户授权后，系统将发送浏览器重定向请求到用户最初访问的页面。对于[静默授权应用](../trustedapps/README.md#静默授权应用)此API将自动确认授权并重定向到请求参数redirect\_uri指定的地址。

发送重定向页面到用户最初请求的页面时会自动在URL后面带上一个临时授权码`code`和`state`，示例如下（请求参数redirect\_uri指定的地址：`http://example.xm.com?param1=xxxx`）：

```bash
http://example.xm.com?param1=xxxx&code=29374oisjdf&state=xrtcyubi
```

说明：

1. 参数`code`和`state`是在重定向时系统自动加上并传递给第三方应用的。
2. `code`是临时授权码，有效时间10分钟，且只能使用一次，第三方应用需要接收`code`并在后端[换取access\_token](./getToken.md)
3. `state`为可选参数，为了防止CRSF攻击
4. 如果`redirect_uri`和`appid`有错误，会返回一个html页面用于提示参数错误
