开发指南/历史版本（不推荐）/应用登录/网页应用登录/登录流程
# 概述
**注意事项**：此版本为历史版本，已不推荐使用，新版请参考 [登录流程概述](https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/reference/authen-v1/login-overview)
网页应用登录是基于 [OAuth 2.0](https://oauth.net/2/) 标准协议实现的，通过Lark账号授权登录第三方应用的能力。
**更新**：本接口请求不支持scope参数。用户无法授予应用明确的权限点位，生成的code和user_access_token也没有绑定相关scope，业务想接入更规范和合规的流程，请通过 [新登录流程](https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/reference/authen-v1/login-overview) 接入授权流程

## 准备工作
在使用网页应用登录能力之前，首先你需要阅读 [概述](https://open.larksuite.com/document/home/app-types-introduction/overview)，并依据文档中的指引在 [开放平台开发者后台](https://open.larksuite.com/app) 创建一个应用，并获得应用的 AppID 和 AppSecret。

接下来，需要选中【安全设置】一栏，并将接收授权码的页面地址添加到右侧的【重定向URL】。

![image.png](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/70816649b673ce88728f4afee04749e0_6jzVde6Cct.png?height=755&lazyload=true&width=1451)

## 整体流程

![image.png](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/98aa43798f7168f54c91924f90e7e567_olUcc25AH5.png?height=964&lazyload=true&width=962)

### 第一步：获取 code
应用请求用户身份验证时，需按如下方式构造授权登录页面链接，并引导用户跳转至此页面。用户在此页面确认授权之后会产生一个授权码（code），并通过 `redirect_uri`携带至开发者的服务器。

**页面地址** ：``https://passport.larksuite.com/suite/passport/oauth/authorize``

**请求参数** ：

| 参数         | 描述           | 类型        | 是否必须        |
| --------- | --------------- | -------   |  --------- |
|`client_id` | 应用的唯一ID，在开发者后台【凭证和基础信息】中可以获得 | `string` | 是 |
|`redirect_uri` | 授权完成后的重定向地址，必须在【安全设置】-【重定向地址】的列表中 | `string` | 是 |
|`response_type` | 授权类型，此处必须是 code | `string` | 是 |
|`state` | 用来维护请求和回调状态的附加字符串，在授权完成回调时会附加此参数，应用可以根据此字符串来判断上下文关系 | `string` | 否 |

**链接示例** ：
```
https://passport.larksuite.com/suite/passport/oauth/authorize?client_id=CLIENT_ID&redirect_uri=http%3A%2F%2F127.0.0.1%3A8888&response_type=code&state=state123456
```

---
除了跳转至授权页，我们同时支持在应用的页面中嵌入Lark二维码进行扫码登录，详情参考[二维码 SDK 接入文档](https://open.larksuite.com/document/common-capabilities/sso/web-application-sso/qr-sdk-documentation)

### 第二步：获取 access_token
[接口文档：获取 access_token](https://open.larksuite.com/document/common-capabilities/sso/api/get-access_token)

### 第三步：获取用户身份信息
[接口文档：获取用户身份信息](https://open.larksuite.com/document/common-capabilities/sso/api/get-user-info)

### 第四步：刷新已过期的 access_token
[接口文档：刷新已过期的 access_token](https://open.larksuite.com/document/common-capabilities/sso/api/refresh-access_token)
