• 如何支持微软邮箱OAuth2.0认证


    近期收到部分使用微软邮箱的客户反映,在EDI系统中无法连接到他们的企业邮箱中,连接过程中报错: IMAP protocol error. 1 NO LOGIN failed…,经确认是微软停用了邮箱的基本验证功能,客户端必须使用OAuth2.0认证,才可以进行连接。那么在知行EDI系统中该如何解决这一问题呢?

    知行之桥最新版本中的Email 端口已经支持OAuth2.0认证,如果您正在使用的版本比较旧,不支持OAuth2.0认证的话,通过进行版本升级便可获得该功能。

    如何确认您正在使用的知行EDI系统是否支持OAuth2.0认证呢?您只需要在Email Receive和Email Send端口的设置页面–认证–认证机制中确认是否可以选择OAuth2.0即可,如下图:
    Email Receive端口:
    在这里插入图片描述
    Email Send端口:
    在这里插入图片描述
    如何在知行之桥中进行OAuth2.0认证的配置呢?下面以Email Receive端口为例介绍在知行之桥的Email端口进行OAuth2.0认证配置及验证。
    一、首先您需要先拿到微软邮箱OAuth2.0认证的相关信息,在Azure Active Directory管理中心中进行操作获取,具体步骤如下:
    参考链接:https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app

    1.应用注册
    在Azure Active Directory里找到“应用注册”–新注册里针对EDI注册一个应用程序
    在这里插入图片描述
    在这里插入图片描述
    2.获取认证URL和认证令牌URL
    访问注册好的应用程序,点击终结点可以看到所有终结点的信息,在这里主要获取OAuth 2.0相关的信息:OAuth 2.0 授权终结点(v2)、OAuth 2.0 令牌终结点(v2)。
    这里OAuth2.0 授权终结点(v2)对应知行之桥中的认证URL,OAuth2.0 令牌终结点(v2)对应知行之桥中的访问令牌URL。如下图:
    在这里插入图片描述
    3.获取客户端Id
    访问注册好的应用程序,可以看到对应的应用程序(客户端)ID,对应知行之桥中的客户端Id
    在这里插入图片描述
    4.获取客户端密码
    在注册的应用程序中的证书和密码–客户端密码页面,点击新客户端密码,设置密码,设置后这里显示的值对应知行之桥中的客户端密码,参考下图,注意不是机密ID。
    在这里插入图片描述
    注意:设置密码时需要设置密码的有效期,默认是6个月,可以修改, 注意记录时间,当密码到期时需要更新,并要同步给知行之桥进行更新配置。

    5.设置重定向URL
    在应用程序的身份验证页面–添加平台,选择对应的服务器平台设置重定向URL。
    这里的URL是知行平台提供回调URL。
    在这里插入图片描述
    在这里插入图片描述
    设置成功后如下:
    在这里插入图片描述
    二、在知行之桥中配置邮箱信息进行连接
    1.在知行之桥的Email Receive端口的设置页面配置相关信息,如下图所示:
    在这里插入图片描述
    注意:
    ①授权范围:这里我们配置https://outlook.office.com/IMAP.AccessAsUser.All 即可,并且在后面加上offline_access,支持离线情况下连接邮箱服务器,更新令牌。
    ②回调 URL:知行之桥自动生成,需要在Azure中设置重定向URL为这里的回调URL,参考前面的设置重定向URL。

    2.获取令牌
    点击“获取新的访问令牌”按钮,进行第一次获取令牌,连接邮箱服务器,页面会自动跳转到邮箱登录页面,输入邮箱账号和密码登录:
    在这里插入图片描述
    登录验证成功后,页面会自动跳转到知行之桥的EmailReceive页面,并显示连接情况信息,以下是成功获取令牌,连接邮箱服务器成功的情况:
    在这里插入图片描述
    第一次获取令牌后,按钮会变为“刷新访问令牌”,之后需要进行验证的话,可以手动点击该按钮进行验证即可。知行之桥会每小时自动进行刷新获取令牌,实现自动化并保证安全性。

  • 相关阅读:
    explain 各字段介绍
    【10套模拟】【8、9】
    在海思芯片上使用GDB远程调试
    Spring框架(十一):手动实现一个@Component,讲一讲Spring的工厂后处理器
    爬虫的异常处理办法
    【Spring】IOC底层原理
    如何实现将拖动物体限制在某个圆形内--实现方式vue3.0
    matlab习题 —— 矩阵的常规运算
    Android系统编译优化:使用Ninja加快编译
    基于Java和MySql的产业信息管理系统的设计与实现 毕业设计-附源码260839
  • 原文地址:https://blog.csdn.net/weixin_44069425/article/details/127889050