当前位置: 首页 > news >正文

大学网站建设排名seo接单平台

大学网站建设排名,seo接单平台,重庆巫山网站设计公司,政府网站建设网页设计规范文章目录 一、项目概述二、环境准备三、创建GitHub OAuth应用四、项目依赖配置五、配置OAuth 2.0六、创建控制器七、创建视图八、运行应用九、用户界面展示十、总结 在现代的Web应用中,安全性是一个不可忽视的因素。OAuth 2.0作为一种流行的授权框架,提供…

文章目录

    • 一、项目概述
    • 二、环境准备
    • 三、创建GitHub OAuth应用
    • 四、项目依赖配置
    • 五、配置OAuth 2.0
    • 六、创建控制器
    • 七、创建视图
    • 八、运行应用
    • 九、用户界面展示
    • 十、总结

在现代的Web应用中,安全性是一个不可忽视的因素。OAuth 2.0作为一种流行的授权框架,提供了一种便捷的方式让用户通过社交平台(如GitHub)登录你的应用。本文将详细介绍如何使用Spring Security实现OAuth 2.0登录,并在页面上展示用户信息。

一、项目概述

本项目旨在实现一个简单的Web应用,允许用户通过GitHub进行登录。我们将使用Spring Boot和Spring Security进行快速开发。

二、环境准备

确保你已经安装了以下环境:

  • JDK 8或更高版本
  • Maven或Gradle
  • IDE(如IntelliJ IDEA或Eclipse)

三、创建GitHub OAuth应用

在开始编码之前,你需要在GitHub上创建一个OAuth应用。以下是创建过程的步骤:

  1. 登录GitHub:访问GitHub官网并登录你的账号。

  2. 进入设置:点击右上角的个人头像,选择“Settings”。

    进入设置

  3. 找到OAuth应用:在左侧菜单中,点击“Developer settings”,然后选择“OAuth Apps”。

    找到OAuth应用

    image-20241012150219059

  4. 注册新应用:点击“New OAuth App”按钮。

    注册新应用

  5. 填写应用信息:填写应用名称、主页 URL 和回调 URL(通常是 http://localhost:8080/login/oauth2/code/github),然后点击“Register application”。

    填写应用信息

  6. 获取Client ID和Client Secret:注册完成后,你会看到Client ID和Client Secret,保存这两个值。

    获取Client ID和Client Secretimage-20241012151907683image-20241012152020757

四、项目依赖配置

在你的pom.xml中添加以下依赖(如果你使用的是Maven):

image-20241012152612818

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

五、配置OAuth 2.0

application.yml中配置GitHub的OAuth 2.0客户端信息,填入你在上面步骤中获取的client-idclient-secret

spring:security:oauth2:client:registration:github:client-id: 填入你的数据client-secret: 填入你的数据

六、创建控制器

接下来,我们需要创建一个控制器来处理登录后的请求。以下是IndexController的代码:

package com.takumilove.oauth2logindemo.controller;import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.security.oauth2.client.OAuth2AuthorizedClient;
import org.springframework.security.oauth2.client.annotation.RegisteredOAuth2AuthorizedClient;
import org.springframework.security.oauth2.core.user.OAuth2User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;/*** @author RaoPengFei* @create 2024/10/12*/
@Controller
public class IndexController {@GetMapping("/")public String index(Model model, @RegisteredOAuth2AuthorizedClient OAuth2AuthorizedClient authorizedClient,@AuthenticationPrincipal OAuth2User oauth2User) {model.addAttribute("userName", oauth2User.getName());model.addAttribute("clientName", authorizedClient.getClientRegistration().getClientName());model.addAttribute("userAttributes", oauth2User.getAttributes());return "index";}
}

七、创建视图

使用Thymeleaf创建登录后的视图,以下是index.html的代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="https://www.thymeleaf.org" xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity5">
<head><title>Spring Security - OAuth 2.0 Login</title><meta charset="utf-8" />
</head>
<body>
<div style="float: right" th:fragment="logout" sec:authorize="isAuthenticated()"><div style="float:left"><span style="font-weight:bold">User: </span><span sec:authentication="name"></span></div><div style="float:none">&nbsp;</div><div style="float:right"><form action="#" th:action="@{/logout}" method="post"><input type="submit" value="Logout" /></form></div>
</div>
<h1>OAuth 2.0 Login with Spring Security</h1>
<div>You are successfully logged in <span style="font-weight:bold" th:text="${userName}"></span>via the OAuth 2.0 Client <span style="font-weight:bold" th:text="${clientName}"></span>
</div>
<div>&nbsp;</div>
<div><span style="font-weight:bold">User Attributes:</span><ul><li th:each="userAttribute : ${userAttributes}"><span style="font-weight:bold" th:text="${userAttribute.key}"></span>: <span th:text="${userAttribute.value}"></span></li></ul>
</div>
</body>
</html>

八、运行应用

确保所有配置无误后,运行你的Spring Boot应用。访问http://localhost:8080,你将看到一个通过GitHub登录的选项。

九、用户界面展示

在用户成功登录后,界面将显示用户信息,如下图所示:

登录成功界面

十、总结

本文详细介绍了如何使用Spring Security实现OAuth 2.0登录,并展示了用户信息。希望通过这些步骤,你能够顺利地实现GitHub登录功能,提升你的应用安全性和用户体验。

http://www.tj-hxxt.cn/news/67144.html

相关文章:

  • 游戏微网站模板百度指数大数据
  • wordpress default太原seo团队
  • 网站开发手册正规网络公司关键词排名优化
  • wordpress php执行慢seo外链查询工具
  • 免费行情软件app网站mnucms网站模板
  • 饿了么网站做要多少钱枸橼酸西地那非片多长时间见效
  • 武汉建设厅网站公司网站怎么弄
  • 无锡h5网站建设江西短视频seo搜索报价
  • 网站建设预算知乎百度收录提交入口地址
  • 江门外贸集团有限公司英文网站网络营销的主要方式和技巧
  • 淮北哪里做网站网站统计系统
  • 手机网站做落地页天津网站制作系统
  • 花卉电子商务网站建设策划书福建seo关键词优化外包
  • 你做的网站会不会被人模仿在线seo外链工具
  • 住房和城乡建设部科技发展促进中心网站销售成功案例分享
  • 网站建设开发哪家质量好郑州seo网络推广
  • 手机qq浏览器网页安全防护怎么关seo外包服务专家
  • wordpress 主题管理汕头seo网络推广服务
  • 网站加速服务友情网站
  • 网站做导航设计的作用是什么意思百度竞价项目
  • 贵阳网站开发价格企业qq怎么申请注册
  • 东莞网站建设知名公司排名百度营销官网
  • 网站中的搜索功能怎么做的厦门seo怎么做
  • 慈溪网站建设公司品牌广告和效果广告的区别
  • 日本出线未seo流量增加软件
  • 龙岗区网站建设公司坚持
  • 淘宝图片做链接的网站爱站长尾关键词挖掘工具
  • b2c网站到货通知功能对比分析网络广告推广方案
  • 做外贸网络推广网站站长之家查询域名
  • 专业做网站的公司有哪些网站统计工具有哪些