栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

OneAuth IDaaS与Spring Boot 的快速集成现代身份验证

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

OneAuth IDaaS与Spring Boot 的快速集成现代身份验证

目录
    • 准备工作
    • 请求的示例
    • 创建一个oneAuth Web应用
    • 创建和配置Spring Boot应用
    • 验证是否集成成功
    • 总结
    • 参考

用户身份验证是 Web 应用程序中的一项基本功能,因此人们可以创建和访问自己的帐户,但不幸的是,身份验证并不总是很容易设置,可能经常错误地实现登录和注销功能。本教程将介绍如何使用 oneAuth 的统一身份验证服务,对多达 1,000 个活动用户帐户免费使用,它能让我们在 Spring 项目中轻松处理用户数据。

本节介绍如何使用Spring Boot快速与OneAuth集成,将OneAuth作为WEB应用程序的用户存储库并实现用户登录。

准备工作

前提条件:

  • 已经具备了OneAuth的组织账户。如果没有?免费创建OneAuth开发者账户
  • 具备基础的WEB应用程序的开发经验
  • 已有或新建的Web应用程序或项目,需要集成认证流程
请求的示例

请求授权的的示例,类似如下

https://{yourSubDomain}.oneauth.cn/v1/oauth/authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=CALLBACK_URL&scope=read

以下配置将在OneAuth控制台完成,配置CALLBACK_URL 和生成CLIENT_ID

创建一个oneAuth Web应用

1. 登录OneAuth组织账户的控制台添加应用

选择【应用】-【应用】-创建应用认证方式选择OIDC,应用类型选择Web应用,点击【下一步】

2. 填写应用的登录重定向地址,http://localhost:8000/login/oauth2/code/oneauth

当用户成功认证后,OIDC 授权服务器向Client返回的redirect_uri由该地址指定。详细参考OIDC 授权码模式

3.【保存】后,OneAuth将为该应用生成Clinet ID和Client Secret,后续在Java Spring Boot的配置中会用到这两个参数值

创建和配置Spring Boot应用

如果您没有现有应用程序,或者对构建应用程序不熟悉,请参考以下资料:构建Spring Boot应用程序的基础知识,Spring Boot

或者,如果您想快速开始,只需下载一个应用示例,请下载我们Spring Boot示例

**1.您需要将一些依赖项添加到pom.xml **

添加后,Spring Security 5的OAuth配置才能正确初始化。

 
	org.springframework.boot 
	spring-boot-starter-security 
 
 
	org.springframework.boot 
	spring-boot-starter-web
 
 
	org.springframework.security 
	spring-security-config
 

	org.springframework.security 
	spring-security-oauth2-client
 
 
	org.springframework.security
	spring-security-oauth2-jose


	org.springframework.boot
	spring-boot-starter-webflux


	org.springframework.boot
	spring-boot-starter-thymeleaf

2.将src/main/resources/application.properties重命名为src/main/resources/application.yml

在下面的代码中填写:

yourSubDomain:在注册时,OneAuth提供的租户的二级域名前缀

ClientID: 填写创建应用时,Step 2过程中OneAuth管理后台生成的Client ID

Secret: 填写创建应用时,Step 2过程中OneAuth管理后台生成的Client Secret

server:
  port: 8000
spring:
  thymeleaf:
    cache: false
  security:
    oauth2:
      client:
        registration:
          oneauth:
            client-name: oneauth
            client-id: {clientId}
            client-secret: {clientSecret}
            redirect-uri: '{baseUrl}/login/oauth2/code/{registrationId}'
            client-authentication-method: post
            scope:
              - openid
              - profile
      provider:
       oneauth:
        issuer-uri: https://{yourSbuDomain}.oneauth.cn/oauth/v1
        user-name-attribute: name
验证是否集成成功

1.重新启动您的应用程序,并访问

浏览器再次导航到http://localhost:8000 ,您会看到一个oneauth的链接,单击该链接可以单击oneauth登录。

2.单击oneauth链接,登录

点击后,您应该会看到一个登录屏幕。

3. 输入用户名和密码,认证完成后跳转回应用

输入用于创建帐户的凭据,登录后应该会看到类似以下的屏幕。

总结

我们通过 Spingboot 构建了一个简单的应用,利用Open ID Connect 协议并对接 oneAuth 提供的身份服务,实现了保护我们特定路由的方法。

参考

OIDC 文档

oneAuth 开发者指南

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/677662.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号