三方接入登录(登录第三方开发者平台三方)「第三方平台开发接入是什么」

忙碌的一天终于结束,今天在项目中用到了应用接入三方登录有关技术,在此笔记记录。
一、什么是应用接入三方登录web应用接入三方登录是指将web应用与第三方登录平台(如微博、QQ、微信等)进行集成,使用户可以通过这些平台进行登录,而不需要在web应用中重新注册账户或输入用户名和密码。
二、接入三方登录的一般步骤以下是接入三方登录的一般步骤:注册第三方登录平台账号:在相应的平台上注册账号,并获取开发者账号和API密钥,以便进行后续的集成操作。
创建应用程序:在第三方登录平台上创建应用程序,并设置应用程序的回调URL和其他相关参数。
集成SDK:下载并集成第三方登录平台的SDK,以便在web应用中使用相应的API。
配置权限:在第三方登录平台上配置访问权限,以确定web应用可以访问哪些用户信息。
实现登录功能:在web应用中添加登录按钮或链接,当用户点击时,调用第三方登录平台的SDK,并传递相应的参数,以实现登录功能。
处理回调URL:当第三方登录平台验证用户的身份并返回用户信息时,web应用需要处理回调URL,以获取用户信息并完成登录过程。
实现其他功能:根据需要,可以在web应用中实现其他功能,如分享、关注、评论等。
三、需要注意的地方不同的第三方登录平台可能有不同的集成方式和API接口,因此在实际操作时需要参考相应的文档和指南。
同时,为了保护用户的隐私和数据安全,需要遵守第三方登录平台的开发者规范和安全要求。
四、初步实践4.1关于JustauthJustAuth是一个第三方授权登录的Java工具类库,它可以帮助开发者脱离繁琐的第三方登录SDK,使登录变得简单。
JustAuth集成了诸如Github、Gitee、支付宝、新浪微博、微信、Google、Facebook、Twitter、StackOverflow等国内外数十家第三方平台。
4.2 Justauth有什么优势JustAuth的优势主要体现在以下几个方面:易用性:JustAuth设计的目标是简化第三方授权登录的过程,让开发者使用起来没有障碍感,减少学习成本。
集成性:JustAuth集成了大量的第三方平台,几乎覆盖了开发者可能需要的所有服务,使得开发者可以快速方便的集成所需要的服务。
可定制性:尽管JustAuth为开发者提供了大量预设的第三方平台,但它也允许开发者根据自身需求进行自定义,包括OAuth平台、Http实现、Scope等。
安全性:JustAuth在设计中充分考虑了安全性,包括使用HTTPS进行通信,确保数据传输的安全性;同时,使用自定义的OAuth平台,可以更容易适配自有的OAuth服务,提高授权的安全性。
灵活性:JustAuth具有极高的灵活性,它允许开发者自定义State缓存和分布式缓存组件,使开发者可以根据实际应用场景灵活选择。
4.3 Justauth实践4.3.1pom<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.5.2</version></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.5.2</version></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId></dependency><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version></dependency><dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.72</version></dependency><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version></dependency><dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.1.4</version></dependency><dependency> <groupId>com.xkcoding.justauth</groupId> <artifactId>justauth-spring-boot-starter</artifactId> <version>1.4.0</version></dependency>4.3.2 yamlserver: port: 8080spring: application: name: springboot-authjustauth: enabled: true type: GITEE: client-id: f491e924c9c7eec1e84d9d6f1cea455ff83ad25788c3d062eb22c185dcc6e403 client-secret: e442f80dd3aa418b7490dbf3ac7aedaf6bae6ae035e4a32b99bbcf181887e289 redirect-uri: http://localhost:8080/call/gitee #项目中的回调地址 cache: type: default4.3.3 Controllerimport cn.hutool.json.JSONUtil;import com.xkcoding.justauth.AuthRequestFactory;import lombok.extern.slf4j.Slf4j;import me.zhyd.oauth.model.AuthCallback;import me.zhyd.oauth.model.AuthResponse;import me.zhyd.oauth.request.AuthRequest;import me.zhyd.oauth.utils.AuthStateUtils;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;import javax.servlet.http.HttpServletResponse;import java.io.IOException;@Slf4j@RestControllerpublic class BladeSocialEndpoint { @Resource private AuthRequestFactory factory; @GetMapping("/login/{type}") // type:指的是我们要通过那个平台的授权进行登录,比如要用gitee public void login(@PathVariable String type, HttpServletResponse response) throws IOException { log.info("--------->{}", factory == null); AuthRequest authRequest = factory.get(type); response.sendRedirect(authRequest.authorize(AuthStateUtils.createState())); } @GetMapping("/call/{type}") public AuthResponse login(@PathVariable String type, AuthCallback callback) { log.info("回调函数:{}",type); AuthRequest authRequest = factory.get(type); AuthResponse response = authRequest.login(callback); log.info("【response】= {}", JSONUtil.toJsonStr(response)); return response; }}4.3.4测试 这个就很简单了,根据控制器测试即可……
三方接入登录(登录第三方开发者平台三方)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息