# E10VPN统一认证功能

来源快照：`result_data_new_260518.json`

- 来源 ID：`1208888596377247746`
- 模块：用户终端
- 目录：功能介绍
- space ID：`1159134935186833447`
- 原文链接：未提供
- 产品基线：未提供

## 正文

一、

#### **功能背景**

随着国内厂商对安全防护越来越重视，手机APP通过VPN访问内网服务使用已逐渐成为安全防护中必不可少的一环，但是对于用户来说需要先登录VPN再登录OA系统反复输入很多地址与账号密码体验较差，因此泛微深度与深信服VPN进行集成实现了VPN与OA统一登录的功能。

二、

#### **功能价值**

1、

通过服务端配置让APP可以一次性获取E10与VPN的环境信息，省去了用户手动输入环境信息的繁琐过程，提高了VPN功能的可用性。

2、

登录VPN的同时无感自动登录OA系统，优化了重复登录过程，提高了产品登录过程中的体验，降低了用户APP学习使用成本。

 

三、

#### **业务流程图**

#### 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208888888569872388&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

图1 通过组织编码登录

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208888957155131395&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

图2 通过外网服务接口登录

 

四、

#### **功能概述及使用说明**

##### **4.1环境信息的获取与配置**

1、APP为什么需要获取客户的环境信息

APP登录时先获取到VPN登录地址与E10服务地址等信息，然后用户在登录过程中就不需要再输入地址与信息，大大减少了用户手动输入过程。

 

 

2、APP是从哪里获取的环境信息

目前有两种获取模式：1、通过组织代码获取 2、通过外网服务获取

组织代码获取：APP调用泛微云服务接口，客户的环境信息维护在泛微的云服务中.

外网服务获取：APP调用客户的外网服务接口，通过接口获取到环境信息，客户的环境信息存放在客户服务器中。

3、

通过组织代码获取

客户需要提供以下信息，提供之后我司会把这些信息配置到泛微的云服务系统中，APP登录时输入组织代码就可以获取到环境信息进行登录。

字段| 说明  
---|---  
组织代码| 客户登录输入标识，客户可以自己定义，比如：weaver  
E10登录地址| E10系统登录的地址  
VPN登录地址| 深信服VPN的登录地址  
认证域| vpn登录认证域  
  
 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889073165377539&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图3 APP组织代码登录界面

 

4、

通过外网服务获取环境信息

环境信息设置入口：【后台管理中心】--【终端设置】--【服务器设置】，如下图4

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889116110561287&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图4服务器设置

 

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889150638374921&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图5 新建服务器信息配置

 

字段| 说明  
---|---  
组织名称| 数据名称描述  
组织代码| 客户登录APP时输入的地址（客户在登录vpn之前是不能跟E10服务进行交互的，需要单独提供一个外网可以访问的地址获取vpn登录信息，比如：[https://weapp.login.cn，见图6）](https://weapp.login.cn，见图6）)  
服务器地址| 客户真实的E10登录地址  
VPN登录地址| 深信服VPN的登录地址  
认证域| vpn登录认证域（后续会在深信服配置中介绍）  
登录加密| VPN登录时传递用户名、密码的加密方式，默认：RSA，公钥需要从E10【后台管理中心】--【基础设置】--【系统级设置】--【账号安全类】中获取。见图7  
  
 

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889219267723281&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图6 输入外网可以访问的接口地址

 

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889270792593412&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

图7 RSA公钥获取

 

 

 

 

 

 

 

目前外网代理支持两种方式：

NGINX转发E10接口

http{

upstream emobile10{

        server E10服务地址;

}

server {

    # 基础配置（端口、服务器名等）

    listen 80;

server_name [localhost](http://localhost);  

location  /papi/app/em/base/getUrlInfo {

            proxy_pass  [http://emobile10](http://emobile10);

            proxy_redirect   http:// $scheme://;

            proxy_set_header X-Forwarded-Proto $scheme;

            proxy_set_header Host $http_host;

            proxy_set_header X-Real-IP $remote_addr;

            proxy_set_header X-Forwarded-For      $proxy_add_x_forwarded_for;

     }

}

}

 

NGINX本地代理接口

server {

    # 基础配置（端口、服务器名等）

    listen 80;

    server_name [localhost](http://localhost);  # 替换为你的域名或服务器IP

 

    # 假设文件存放目录（请替换为实际路径）

    set $file_root /path/to/your/files;  # 例如 /usr/share/nginx/static

 

    # 1. 手机端访问/papi/app/em/base/getUrlInfo 返回urlInfo.json

    location = /papi/app/em/base/getUrlInfo {

        # 严格匹配移动端User-Agent

        if ($http_user_agent ~* (mobile|android|iphone|ipad|ipod|windows phone)) {

            root $file_root;

            try_files /urlInfo.json =404;  # 查找同级目录下的urlInfo.json

            add_header Content-Type application/json;  # 正确的JSON类型头

            expires 10m;  # 适当设置缓存时间

        }

        # 非移动端访问返回403

        return 403;

    }

 

    # 2. 访问图片路径返回对应图片

    location ~ ^/papi/file/remotedownload/([^/]+)/upload/true$ {

        root $file_root;

        # 正则捕获文件名，尝试读取对应文件

        try_files /$1 =404;

        

        # 自动识别常见图片类型（比固定类型更灵活）

        if ($request_filename ~* .*\\.(jpg|jpeg)$) {

            add_header Content-Type image/jpeg;

        }

        if ($request_filename ~* .*\\.(png)$) {

            add_header Content-Type image/png;

        }

        if ($request_filename ~* .*\\.(gif)$) {

            add_header Content-Type image/gif;

        }

        

        expires 1d;  # 图片设置较长缓存

    }

}

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889318003679247&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图8 导出环境信息配置

 

 

 

 

 

 

##### **4.2 深信服VPN配置**

1、访问深信服管理后台

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889356712615938&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

图9 深信服管理后台

 

1、

认证服务器管理

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889386878050311&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图10 认证管理

 

 

 

 

 

 

 

 

 

 

 

2、

新建认证管理

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889425317101574&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图11 新建认证管理

客户认证域：比如vpnauth1，见图12

请求地址：客户E10访问地址+/papi/passport/thirdlogin/emVpnLoginCheck，见图13

请求体：{"emLoginData":"{{user.userPassword}}"} ，见图14

响应解析格式：JSON，见图15

响应参数：data》扩展字段、 code》错误码、 msg》错误信息，见图15

响应认证成功条件：code 等于 200，见图15

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889455585239042&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图12 认证域

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889481140838415&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图13 验证接口配置

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889537126711300&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图14 请求体设置

 

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889575869489157&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图15 验证接口响应配置

 

新增管理用户目录

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889610243964940&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图16 新建用户目录

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889640308736010&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图17 新建用户目录详细设置

关联授权应用：选择默认分类

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889665933787142&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图18 关联授权应用

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889695939837957&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

图19 新建应用入口

 

![](https://weapp.eteams.cn/papi/file/preview?fileId=1208889726117847041&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

图20 新建应用

** **

五、

#### **注意点、常见问题**

问1：如果使用外网接口服务，APP输入的登录地址与E10实际登录地址是否可以用同一个域名地址

答1：不行。假如使用同一个域名进行访问，在外网DNS会解析域名到外网的ip，连上VPN之后实际需要访问域名对应的内网ip，使用同一个域名会导致连上VPN之后访问E10服务异常。

 

问2：APP VPN登录报EMM授权无效怎么办

答2：我们APP集成了深信服零信任SDK，需要客户向深信服购买EMM授权才能正常使用。
