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

给网站添加关键词常州网站专业制作

给网站添加关键词,常州网站专业制作,安丘做网站的,一个人建网站赚钱OAuth2.0 OAuth2.0是一种授权框架,用于授权第三方应用访问用户资源的方式。它允许用户将自己的信息(如照片、视频等)存储在一个服务提供商中,然后授权第三方应用访问这些信息,而无需提供用户名和密码给第三方应用。OAu…

OAuth2.0

      OAuth2.0是一种授权框架,用于授权第三方应用访问用户资源的方式。它允许用户将自己的信息(如照片、视频等)存储在一个服务提供商中,然后授权第三方应用访问这些信息,而无需提供用户名和密码给第三方应用。OAuth2.0通过向第三方应用提供访问令牌来实现这一目的,该访问令牌可以代表用户访问他们的资源。OAuth2.0还提供了与许多现有的授权和身份验证系统集成的机制,使第三方应用可以使用这些系统来验证用户身份。

OAuth2.0流程

       OAuth 2.0是一种授权框架,用于通过第三方应用程序访问用户在另一个应用程序(如微信)上存储的受保护资源。

  1. 用户点击微信图标发送认证请求:用户在第三方应用程序(例如一个网站或应用)中点击微信图标,请求使用微信账户进行认证。

  2. 用户输入账户和密码:用户在弹出的微信登录页面中输入自己的微信账户和密码。

  3. 认证请求发送至微信服务器:第三方应用程序将用户输入的账户和密码等认证请求发送至微信服务器进行认证。

  4. 认证成功返回令牌:如果认证成功,微信服务器将返回一个令牌(access token)给第三方应用程序。

  5. 使用令牌获取用户信息:第三方应用程序可以使用令牌去微信服务器请求用户的头像、名字、性别等信息。

  6. 令牌验证:第三方应用程序将令牌再次发送至微信服务器进行验证,以确保令牌的有效性。

  7. 返回用户信息:如果令牌验证成功,微信服务器将返回用户的头像、名字、性别等信息给第三方应用程序。

  8. 与系统账户绑定:第三方应用程序可以将获取到的用户信息与其自己的系统账户进行绑定,以便后续的操作和个性化推荐等功能。

示例

步骤一:添加依赖 在你的pom.xml文件中添加以下依赖,以引入Spring Security和OAuth2的相关库:

<dependencies><!-- Spring Security --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency><!-- OAuth2 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-oauth2-client</artifactId></dependency><!-- OAuth2 JWT --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-oauth2-resource-server</artifactId></dependency>
</dependencies>

步骤二:配置Spring Security 在你的application.properties或application.yml文件中,添加以下配置:

spring.security.oauth2.client.registration.[client-id].client-id=[client-id]
spring.security.oauth2.client.registration.[client-id].client-secret=[client-secret]
spring.security.oauth2.client.registration.[client-id].authorization-grant-type=authorization_code
spring.security.oauth2.client.registration.[client-id].redirect-uri=http://localhost:8080/login/oauth2/code/[client-id]
spring.security.oauth2.client.provider.[provider-name].authorization-uri=[authorization-uri]
spring.security.oauth2.client.provider.[provider-name].token-uri=[token-uri]
spring.security.oauth2.client.provider.[provider-name].user-info-uri=[user-info-uri]
spring.security.oauth2.client.provider.[provider-name].user-name-attribute=[user-name-attribute]

其中,[client-id]是你从提供商那里获得的客户端ID,[client-secret]是客户端密码,[provider-name]是提供商名称,[authorization-uri]是用于获取授权码的URI,[token-uri]是用于换取访问令牌的URI,[user-info-uri]是用于获取用户信息的URI,[user-name-attribute]是用户信息中的用户名属性。

步骤三:实现登录页面 创建一个登录页面,让用户以OAuth2提供商的身份登录,并授权访问你的应用程序。你可以使用Spring Security提供的默认登录页面,或者自定义一个登录页面。

步骤四:实现回调处理 在你的回调处理方法中,获取授权码和访问令牌,并将其存储在你的应用程序中。

@Controller
public class OAuth2LoginController {@Autowiredprivate OAuth2AuthorizedClientService authorizedClientService;@GetMapping("/login/oauth2/code/{client-id}")public String handleCallback(@RequestParam("code") String code,@RequestParam("state") String state,OAuth2AuthenticationToken authenticationToken) {OAuth2AuthorizedClient authorizedClient =((OAuth2AuthenticationToken) authentication).getAuthorizedClient();// 获取访问令牌String accessToken = authorizedClient.getAccessToken().getTokenValue();// 存储访问令牌// ...return "redirect:/";}
}

步骤五:保护资源 使用Spring Security来保护你的资源,确保只有授权的用户才能访问。

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers("/").permitAll().antMatchers("/api/**").authenticated().and().oauth2Login();}
}

     

总结

     OAuth2.0是一种授权框架,用于在不共享用户凭证的情况下,允许应用程序访问用户的资源。它提供了一种安全的、标准化的方式,允许用户授权第三方应用程序访问他们的资源,并且可以由用户随时撤销该访问权限。

OAuth2.0涉及以下几个主要角色:

  1. 资源拥有者(Resource Owner):用户拥有资源的所有者,可以授权第三方应用程序访问他们的资源。

  2. 客户端(Client):第三方应用程序,需要访问资源拥有者的资源。

  3. 授权服务器(Authorization Server):验证资源拥有者的身份,并颁发访问令牌给客户端。

  4. 资源服务器(Resource Server):存储和管理资源的服务器,可以根据访问令牌来控制资源的访问权限。

OAuth2.0的授权流程包括以下几个步骤:

  1. 客户端向授权服务器发送请求,请求授权访问某个资源。

  2. 授权服务器验证客户端的身份,并向客户端返回一个授权码。

  3. 客户端使用授权码向授权服务器请求访问令牌。

  4. 授权服务器验证授权码,并向客户端返回访问令牌。

  5. 客户端使用访问令牌向资源服务器请求访问资源。

  6. 资源服务器验证访问令牌,并向客户端返回资源。

OAuth2.0的主要优点是安全性和灵活性。它通过使用访问令牌来代替用户凭证,减少了第三方应用程序访问用户敏感信息的风险。同时,OAuth2.0还支持多种授权流程和多种身份验证方式,可以适应不同的应用场景和安全需求。

然而,OAuth2.0也存在一些安全风险,例如令牌劫持和跨站请求伪造(CSRF)攻击。为了减少这些风险,开发者需要采取一些额外的安全措施,如使用HTTPS协议传输令牌和实施严格的访问令牌验证机制。

http://www.yayakq.cn/news/548096/

相关文章:

  • 绵阳辉煌网站建设使用框架开发wordpress
  • 在浏览器上建设网站实名网站空间
  • 江苏淮安建设局网站2022年企业年报网上申报流程
  • 怎么添加网站备案号跑腿app开发价格表
  • 大连网站建设 选领超科技logo设计
  • 国外优秀画册设计网站想接做网站的单子
  • 哪几个网站做acm题目淘宝优惠券网站怎么做的
  • 新网站seo怎么优化房价必涨的十大城市
  • 做信息网站的盈利方式有哪些公司网站免费自建
  • 开发区网站开发语言erp项目管理软件
  • 汉化主题做网站效果图特色美食网站建设策划书
  • 网站改版建议策划书注册公司代理找哪家
  • 备案网站到期了怎么办制作微信公众号网站开发
  • 5分钟宣传片多少钱北京seo网络优化招聘网
  • 建设网站协议范本重庆市建设工程交易中心网站
  • 网页制作淘宝网站建设网页升级紧急大通知拿笔记本记好
  • 网站加载很慢怎么办网站建设客户需求调查表
  • 网站做淘宝客百度自己网站排名
  • 浅谈国内高校英文网站的建设现状建筑网站管桩进场验收规范
  • 技术支持 东莞网站建设家装科技词语
  • 淄博网站建设-中国互联展示网站方案
  • 旅游网站案例分析vps搭建vpn无法访问国内网站
  • 网站网站开发点击最多的网站
  • 手机网站建设课程教学企业推广建站
  • dedecms wap网站模板下载久雅科技软件开发外包
  • 网站建设实训要求北京网站建设方案建设公司
  • 静态网站论文目录外贸 国外推广网站
  • 成都学网站建设费用wordpress占用
  • 河南微网站开发简单的网页设计教程
  • 网站编辑的工作内容长沙品牌网站建设