c#与access建立连接用作登录_【知识点】授权第三方账号登录IOC

b2522d684f2e1c2db53bcdb7ea6afdfa.gif

基线支持对第三方账号授权登录智慧园区运营中心。配置完成后,可以在IOC登录页使用第三方登录方式登录。

系统默认支持的账号类型是EmployeeNo,其它账号类型如表1所示。

表1 登录账号类型和验证模式的对应关系

登录账号类型

验证模式

说明

EmployeeNo

Identity

在IOC中创建的用户,登录IOC时的验证模式。

welink

WeLink

WeLink用户直接登录IOC时的验证模式。

WeLinkBamboo

WeLinkBamboo

通过IAM对接Welink时,Welink用户登录IOC的验证模式。

IAM

Custom

通过IAM统一鉴权登录IOC的验证模式。

第三方账号类型

Custom

第三方系统的用户登录IOC时的验证模式。

这里以华为W3 Uniportal账号为例,介绍如何授权第三方账号(华为W3 Uniportal账号)登录IOC。

开发自定义鉴权脚本

自定义鉴权脚本,用于第三方登录时的鉴权,脚本具体逻辑应参考第三方系统的登录接口。

1. 基于基线应用System Management,创建Addon应用。

第三方的鉴权脚本,建议与基线APP的接口——第三方授权登录(oauthLogin)接口放在一起,以避免跨APP调用,所以推荐基于基线应用(System Management)创建Addon应用。

2. 在Addon应用中创建第三方系统的鉴权脚本。

例如本示例中,第三方账号——W3 Uniportal的鉴权脚本如下。开发其他第三方系统的鉴权脚本时,可以依据下面的脚本重新编排逻辑,出入参不变。

import * as date from 'date'import * as db from 'db'import * as sys from 'sys'import * as http from 'http'import * as context from 'context'export default function oauthLoginValidator(loginAccount, credential, setting, accountType): any {  let user = {};  //基线对接W3 Uniportal Demo,供参考  let client = http.newClient();  //1、获取token  const tokenRequest = {    data: {      grant_type: 'authorization_code',      code: credential,      client_id: setting.clientId,      client_secret: setting.clientSecret,      redirect_uri: setting.redirectUrl    },    headers: {      'Content-Type': 'application/json'    }  };  const tokenResp = client.post(setting.baseUrl + 'accesstoken', tokenRequest);  let tokenBody = JSON.parse(tokenResp.body);  let accessToken = tokenBody.access_token;  //2、获取用户信息  let userPath = setting.baseUrl + 'userinfo?access_token=' + accessToken + '&scope=' + setting.scope + '&client_id=' + setting.clientId;  const userResp = client.post(userPath);  let userBody = JSON.parse(userResp.body);  let userName = '';  if (setting.idField) {    userName = setting.idField;    if (!userBody[userName]) {      context.throwError('SmartCampus__LoginValidateError');      return;    }    user['id'] = userBody[userName];    user[userName] = userBody[userName];  } else {    if (!userBody.id) {      context.throwError('SmartCampus__LoginValidateError');      return;    }    user['id'] = userBody.id;  }  return user;}
配置第三方W3 Uniportal账号登录

1. 在W3 Uniportal上注册应用。

    a. 使用W3 Uniportal管理员账号登录后台管理系统,新增应用如图1所示。

图1 W3 Uniportal上注册应用

7e8bf3dfd3038cf10826f95625b10193.png

58654112de0b79e663d591e1884ae2a9.png

    b. 记录上一步配置的参数值:应用ID、应用Secret。

2. 检查AppEngine对象存储代理连接器配置

    a. 登录AppEngine租户管理台。

    b. 依次选择“管理 > 应用管理 > 连接器 > 对象存储代理”,进入对象存储代理页面。

    c. 搜索框输入“ca_cm__identity”,检查代理名和桶名是否指向自己的OBS桶。

        后续上传W3 Uniportal账号的图标时,会将图标存储到该OBS桶。

3. 配置登录账户类型。

    a. 选择“管理 > 应用管理 > BO配置 > 身份配置”,单击“登录账户类型”,进入“配置登录账号类型”页面。

    b. 单击“新增”,添加登录账号类型,单击“保存”。

18dc0a6d2a95fb752a9358c6c2edb1c8.png

    c. 在“配置登录账号类型”页面,单击Uniportal操作栏的设置按钮f39a05aa62dfbdd59002865c40b51590.png,进入设置页面,需要配置的参数如表4所示。

图2 配置第三方账号登录参数

4bb1a1f60ac1ab47e7126e89254f9568.png

f64c8b2e3337e76d5524948e06c10654.png

    d. 设置完成后单击“保存”。

4. 配置APP第三方登录账号类型选项列表,用于“系统管理 > 用户管理”界面绑定第三方账号时,下拉框的选项。

    a. 选择“管理 > 设置 > 选项列表”,进入选项列表管理页面。

    b. 搜索框输入“SmartCampus__thirdPartyAccountType”,进入第三方账户类型配置页面。

    c. 单击页面下方的“添加”,输入“标签”和“值”。此处的“值”配置为Uniportal。

        这里的“值”必须与3.b中身份配置BO登录账户类型配置的“标识”一致。

    d. 单击操作栏下方的按钮2b5dc1e8ddf1c45217287ad14198bb57.png,添加完成。如图3所示。

图3 配置第三方账户类型选项列表

c37a2fab5a9de829c7fbdc8fd204ca9a.png

5. 配置完成后进入“登录IOC”页面,在“其他登录方式”下选择上述步骤配置的W3 Uniportal图标,如图4所示,进入W3 Uniportal账号的登录界面。

    W3 Uniportal账号登录后,进入IOC。

图4 统一门户登录示例显示页面3ae0d827b1d157e84c39eeed516892df.png

-END-

2a050121d2846cf141b9f4c71009b9ff.png

更多相关文章

  • 2020华为&兴海物联智慧社区现场会,欢迎莅临指导!

  • 共创行业新价值!华为全联接2020如约而至

  • 华为中国生态之行2020河北峰会,智慧园区分论坛等你!

  • 《智慧园区设计标准》第一次评审会暨第二次工作会议成功召开

  • 智慧园区论坛精华帖第六期:共建开放生态,使能万物互联的智能世界

  • 智慧园区南向认证合作伙伴及设备清单

  • 《未来智慧园区白皮书》已发布,附下载链接!

  • 敲黑板 | 智慧园区最强开发者手册

  • 华为智慧社区:科技赋能,给您温暖的家!

627ea08410a7b1ac9dec20b1e99bb84c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值