开发指南/历史版本（不推荐）/网页应用/步骤三（可选）：配置应用免登流程（ 旧版 ）
# 步骤三（可选）：配置应用免登流程

在开放平台创建好自建应用后，即可在本地开发相应的 Web 项目。如果你希望应用在Lark客户端内被访问时，可以获取客户端登录用户的信息，实现免登访问应用，则可以为应用配置免登流程。本文主要介绍应用免登的工作流程，以及实现免登的 [requestAuthCode](https://open.larksuite.com/document/uYjL24iN/uUzMuUzMuUzM/20220308) 接口相关的常见问题。
**示例代码**
<br>
关于如何在 Web 项目中实现应用免登，开放平台提供了相应的网页应用开发教程。开发教程中包含完整的网页应用示例代码，你可以查看代码介绍、体验开发流程，从而帮助你了解和使用应用免登能力。详情参见[网页应用免登](https://open.larksuite.com/document/home/quickly-create-a-login-free-web-app/introduction-to-sample-code)。

## 免登流程

如果用户已登录Lark客户端，则可以直接访问客户端内的网页应用，无需二次登录。在实际开发应用的过程中，你可以通过如下流程图获取已登录用户的信息。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/00ef7e073a16f47508262e3a45ada53c_mromljQZNT.png?height=634&lazyload=true&maxWidth=750&width=924)

流程说明：

- 上图中的 App ID 和 App Secret 为整个流程仅需的输入信息。

App ID 和 App Secret 参数位于[开发者后台](https://open.larksuite.com/app)中该应用的详情页面**凭证与基础信息**。

- 上图中Lark客户端和接入方服务端，与认证中心的数据交换通过 HTTP 请求完成。

涉及数据交换的步骤序号：1~2、4~5、8~9、10~11。

- 上图中接入方前端与Lark客户端的数据交换（步骤序号：3~6）通过 JSAPI 调用完成。

- 上图中接入方前端与接入方服务端的数据交换（步骤序号：7、12）在你的网页应用框架内自行完成。
网页应用**前端**实现免登流程需要**服务端**配合。建议你合理安排前端和服务端开发人员共同参与。

## requestAuthCode 接口错误码

[requestAuthCode](https://open.larksuite.com/document/uYjL24iN/uUzMuUzMuUzM/20220308) 接口用于获取网页应用免登授权码，便于网页应用实现用户免登流程。在接口的`fail`返回对象中包含了 [errCode属性](https://open.larksuite.com/document/uYjL24iN/ukzNy4SO3IjL5cjM)（错误码和错误信息）。当你在实际开放过程中，接口错误码相应的排查建议如下表所示。

错误码 | 描述 | 排查建议
---|---|---
10236 | URL 不合法。<br>URL 为空，或没有在[开发者后台](https://open.larksuite.com/app)的应用详情页 **安全设置 > 重定向 URL** 列表中配置当前页面 URL。 | 检查当前页面 URL 是否已经配置在[开发者后台](https://open.larksuite.com/app)的应用详情页 **安全设置 > 重定向 URL** 中。如果没配置，则需要配置重定向 URL 后再试。<br>如果配置 URL 后，依然出现此错误码，则是因为你调用 [requestAuthCode](https://open.larksuite.com/document/uYjL24iN/uUzMuUzMuUzM/20220308) 接口的页面，不在重定向 URL 列表中。建议检查当前页面 URL 的完整路径（不包括`?`和`#`后面的部分），是否已经配置在开发者后台的应用详情页 **安全设置 > 重定向 URL** 中，如果没配置，则需要配置重定向 URL 后再试。<br>- （建议）当前页面 URL 获取方式：在当前页面调用`window.location.href.split('?')[0].split('#')[0]`获取 URL。<br>应用主页对应的 URL 完整路径是域名加斜杠，该路径可调用`window.location.href.split('?')[0].split('#')[0]`验证。例如，域名`https://open.larksuite.com`或者域名`http://127.0.0.1:3000`（IP 地址 + 端口号），对应的主页如果需要获取 Authorization Code，应该填入的 重定向 URL 分别为`https://open.larksuite.com/`、`http://127.0.0.1:3000/`。<br>- 重定向 URL 填写时，常见情况举例与说明如下图所示。<br>![image.png](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/1f1d229f7fdad46c49383b6fb643cd7a_YqiOcuMWqa.png?height=448&lazyload=true&width=1588)
10235 | 未在开发者后台配置重定向 URL。 | 检查当前页面 URL 是否已经配置在开发者后台中应用详情页 **安全设置 > 重定向 URL**。如果没有，请配置之后再试。
10200 | appid 不合法。 | 请检查前端调用 requestAuthCode 时传入的 app_id，与你在开发者后台中应用详情页 **凭证与基础信息** 获得的 App ID 是否相同。如果不同，请保持相同之后再试。
10228 | 应用对该用户不可见。 | 在开发者后台中应用详情页 **版本管理与发布** 中找到状态为 **已发布** 的版本，查看版本详情，检查 **可用范围** 是否包括当前用户。<br>![image.png](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/61497d0a539dc2666eb9f721a2c7157c_Nhe1Rg90RM.png?height=1252&lazyload=true&width=1790)
10232 | 获取免登临时授权码 Code 失败。 | 建议再次打开页面尝试调用。
10234 | 获取开发者后台的应用详情页 **安全设置 > 重定向 URL** 列表失败。 | 建议再次打开页面尝试调用。
10210 | sessionid 不合法。 | 建议退出当前账号重新登录后尝试调用。

