Microsoft Azure Active Directory SAML JAVA集成

本文档详细介绍了如何在Azure AD中配置SAML单点登录(SSO)服务,并通过Java应用程序进行集成。首先在Azure官网创建自定义企业应用,配置SSO的EntityID和ACSURL。接着,利用OneLogin的工具进行JAVA SAML库的集成,包括登录、响应、登出的逻辑代码实现。最后,配置onelogin.saml.properties文件以完成SSO逻辑。通过这些步骤,成功实现了Azure AD SAML的便捷集成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
Azure官网

环境配置

1.登录Azure官网进入Azure Active Directory

2.再选择Enterprise applications

3.新建自定义应用

4.配置应用的SSO,需要指定

    Entity ID 唯一实例名,可以设置你的应用地址

    ACS URL 断言响应地址

5.查看生成的SAML证书 App Federation Metadata Url

   保存XML中idp X509Certificate、SingleSignOnService Redirect URL等内容(后面SSO集成用到) 

 这样一个简单的SAML认证服务就搭建好了。

下面开始做SAML的JAVA集成

我用到了第三方集成工具onelogin OneLogin官网

//1.首先依赖jar包
<dependency>
    <groupId>com.onelogin</groupId>
    <artifactId>java-saml</artifactId>
    <version>2.9.0</version>
</dependency>

//2.SAML请求逻辑代码实现
Auth auth = new Auth(request, response);
auth.login();

//3.SAML响应逻辑代码实现
Auth auth = new Auth(request, response);
String nameId = auth.getNameId();
String nameIdFormat = auth.getNameIdFormat();
String sessionIndex = auth.getSessionIndex();
String nameidNameQualifier = auth.getNameIdNameQualifier();
String nameidSPNameQualifier = auth.getNameIdSPNameQualifier();

//4.登出逻辑代码实现
Auth auth = new Auth(request, response);
auth.logout();

SSO逻辑开发完成后,还有最后一步,配置onelogin.saml.properties,主要配置如下:

onelogin.saml2.sp.entityid = Entity ID

onelogin.saml2.sp.assertion_consumer_service.url = ACS URL

onelogin.saml2.sp.single_logout_service.url = Entity ID

onelogin.saml2.sp.x509cert = SP x509cert

onelogin.saml2.idp.entityid = Entity ID

onelogin.saml2.idp.single_sign_on_service.url = SingleSignOnService Redirect URL

onelogin.saml2.idp.single_logout_service.url = SingleLogoutService Redirect URL

onelogin.saml2.idp.x509cert = idp x509cert

SP x509cert 推荐使用onelogin提供的证书生成工具 Obtain SAML Self Signed x.509 Certificates | OneLogin Developers

至此所有配置大功告成

启动你的应用就可以感受到Azure AD SAML的便捷

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值