门户V2第三方密码登录

案例需求

第三方系统登录后,点击平台链接,实现免密码登录

知识点

1.门户登录定制 2.实现第三方系统登录校验

开发过程

  1. 使用租户管理员登录系统,在“应用/服务管理”新增企业门户V2,开启门户定制(详细操作步骤可参考 门户V2调试

  2. 进入云端开发后,找到市场组件“门户自定义”,并开启组件定制 图 9

  3. 进入到“代码”模块下,在“\UI2\comp\portalConfig\components\portalConfig”组件目录下,对“portalConfig.config.js”(文件命名:组件名+“.config.js”,不能随便定义)进行定制编辑,文件基础内容如下所示: ```js import { merge } from "lodash"; import ConfigContextProcessor from 'core/framework/ConfigContextProcessor'; import UserInstance from '$UI/wxsys/comps/uixContainer/UserImplement'; import React from 'react';

export default {

processConfigContext(configContext) {
},

//自定义
async onConfigContextInit(configContextProcessor) {
    //获取当前页
    let _this = configContextProcessor.page;

    //按照需要处理的文件路径及方法进行自定义
    //@after:方法执行后执行;参数:(result,...args),其中result是方法返回数据,args是原方法自带参数
    //@before:方法执行前执行;参数:(...args),其中args是原方法自带参数
    //@replace:替换原方法;参数:(...args),其中args是原方法自带参数
    //注意:上述3中方法,async标识必须与原方法同步,即原方法是异步,现在自定义方法才能使用异步,否则不能使用
    //详细使用案例可以参考“帮助中心”下门户v2定制下相关案例
    let portalConfig = {
        "config": {    
            "/entry": {
                "/pcxapp": {
                    "/pcx": {    
                        "/user":{
                            "/login.w": {
                                "onInitState": {
                                    "@before":async()=>{
                                        try {
                                            //判断登录获取用户信息
                                            let userInfo=await UserInstance.checkLogin(_this);
                                            //登录成功逻辑处理
                                        } catch (error) {
                                            //用户没有登录,跳转到第三方登录页面
                                            //window.top.location="https://baidu.com";

                                            let res=await this.request({url:"http://cas认证",method:"post"});
                                            //验证逻辑,权限验证成功,进行登录回调调用(详细参考:"帮助中心-->开发手册-高级--->集成--->OAuth2标准集成方案")

                                        }
                                    }
                                }
                            }
                        }   
                    }
                }
            }            
        }
    };
    //处理自定义内容
    merge(_this.configContext, portalConfig);
    ConfigContextProcessor.enhancePageAdvice(_this);
}

} ```

  1. 编写登录回调服务,详细实现可参考 OAuth2标准集成方案

results matching ""

    No results matching ""

    results matching ""

      No results matching ""