龙空技术网

如何在Java Web应用上集成Azure AD

云上求知 125

前言:

眼前大家对“javaweb服务端”大约比较注重,兄弟们都想要了解一些“javaweb服务端”的相关资讯。那么小编同时在网摘上收集了一些有关“javaweb服务端””的相关文章,希望我们能喜欢,兄弟们快快来学习一下吧!

前后端分离项目的AAD 认证流程如下:

流程图

准备Azure AD服务的账号及密码

2.1 在Azure()上注册应用,从Azure portal上获取client-id和tenant-id

2.2 配置回调地址

注意:本地的回调地址(即localhost)可以为http,其它的必须为https

2.3 设置API权限,让Azure返回登陆用户的email 地址

2.4 创建client-secret

实现步骤

3.1 前端页面增加登录按钮,点击按钮跳转到以下地址:

{tenant-id}/oauth2/v2.0/authorize?response_type=code&client_id=${client-id}&redirect_uri=${redirect-uri}&scope=user.read

3.2 Azure跳转到3.1中配置的回调地址${redirect-uri},并带上一个返回值code

${redirect_uri}?code=0.xxxxyyyyyyyzzzz...

3.3 前端获取上一步返回的code,以POST方式调用本应用的API -

3.4 后端收到请求后,以POST方式调用Azure的API - {tenant-id}/oauth2/v2.0/token以获取access_token

3.5 后端收到access_token后,以GET方式调用API - 获取用户信息

3.6 得到email地址后,根据email地址查询数据库,获取用户信息,根据逻辑生成token,返回给前端

3.7 登录成功

完。

标签: #javaweb服务端