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

域名访问网站是什么意思求个没封的a站yw1129cm

域名访问网站是什么意思,求个没封的a站yw1129cm,数据分析师事务所,做网站需要什么开发语言1.什么是OAuth2 OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时#xff0c;任何第三方都可以使用OAUTH认证服务#xff0c;任何服务提供商都可以实现自身的OAUTH认证服务#xff0c;因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、JavaScript任何第三方都可以使用OAUTH认证服务任何服务提供商都可以实现自身的OAUTH认证服务因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、JavaScriptJavaRuby等各种语言开发包大大节约了程序员的时间因而OAUTH是简易的。互联网很多服务如Open API很多大公司如GoogleYahooMicrosoft等都提供了OAUTH认证服务这些都足以说明OAUTH标准逐渐成为开放资源授权的标准。 2.例子分析 下边分析一个Oauth2认证的例子授权码模式黑马程序员网站使用微信认证扫码登录的过程 1、用户点击微信扫码 用户进入黑马程序的登录页面点击微信的图标开打微信扫码界面。 微信扫码的目的是通过微信认证登录黑马程序员官网黑马程序员网站需要从微信获取当前用户的身份信息才会让当前用户在黑马网站登录成功。 资源用户信息在微信中存储。 资源拥有者用户是用户信息资源的拥有者。 认证服务微信负责认证当前用户的身份负责为客户端颁发令牌。 客户端客户端会携带令牌请求微信获取用户信息黑马程序员网站即客户端黑马网站需要在浏览器打开。 2、用户授权黑马网站访问用户信息 资源拥有者扫描二维码表示资源拥有者请求微信进行认证微信认证通过向用户手机返回授权页面如下图 询问用户是否授权黑马程序员访问自己在微信的用户信息用户点击“确认登录”表示同意授权微信认证服务器会颁发一个授权码给黑马程序员的网站。 只有资源拥有者同意微信才允许黑马网站访问资源。 3、黑马程序员的网站获取到授权码 4、携带授权码请求微信认证服务器申请令牌 此交互过程用户看不到。 5、微信认证服务器向黑马程序员的网站响应令牌 此交互过程用户看不到。 6、黑马程序员网站请求微信资源服务器获取资源即用户信息。 黑马程序员网站携带令牌请求访问微信服务器获取用户的基本信息。 7、资源服务器返回受保护资源即用户信息 8、黑马网站接收到用户信息此时用户在黑马网站登录成功。 3.oauth2.0认证流程 Oauth2包括以下角色 1、客户端 本身不存储资源需要通过资源拥有者的授权去请求资源服务器的资源比如手机客户端、浏览器等。 上边示例中黑马网站即为客户端它需要通过浏览器打开。 2、资源拥有者 通常为用户也可以是应用程序即该资源的拥有者。 A表示 客户端请求资源拥有者授权。 B表示 资源拥有者授权客户端即黑马网站访问自己的用户信息。 3、授权服务器也称认证服务器 认证服务器对资源拥有者进行认证还会对客户端进行认证并颁发令牌。 C 客户端即黑马网站携带授权码请求认证。 D认证通过颁发令牌。 4、资源服务器 存储资源的服务器。 E表示客户端即黑马网站携带令牌请求资源服务器获取资源。 F表示资源服务器校验令牌通过后提供受保护资源。 4.oauth2授权模式 Spring Security支持OAuth2认证OAuth2提供授权码模式、密码模式、简化模式、客户端模式等四种授权模式 4.1授权码模式 OAuth2的几个授权模式是根据不同的应用场景以不同的方式去获取令牌最终目的是要获取认证服务颁发的令牌最终通过令牌去获取资源。 授权码模式简单理解是使用授权码去获取令牌要想获取令牌先要获取授权码授权码的获取需要资源拥有者亲自授权同意才可以获取。 下图是授权码模式交互图 1、用户打开浏览器。 2、通过浏览器访问客户端即黑马网站。 3、用户通过浏览器向认证服务请求授权请求授权时会携带客户端的URL此URL为下发授权码的重定向地址。 4、认证服务向资源拥有者返回授权页面。 5、资源拥有者亲自授权同意。 6、通过浏览器向认证服务发送授权同意。 7、认证服务向客户端地址重定向并携带授权码。 8、客户端即黑马网站收到授权码。 9、客户端携带授权码向认证服务申请令牌。 10、认证服务向客户端颁发令牌。 package com.xuecheng.auth.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpMethod; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer; import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter; import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer; import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer; import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerSecurityConfigurer; import org.springframework.security.oauth2.provider.token.AuthorizationServerTokenServices;import javax.annotation.Resource;/*** description 授权服务器配置* author Mr.M* date 2022/9/26 22:25* version 1.0*/ConfigurationEnableAuthorizationServerpublic class AuthorizationServer extends AuthorizationServerConfigurerAdapter {Resource(nameauthorizationServerTokenServicesCustom)private AuthorizationServerTokenServices authorizationServerTokenServices;Autowiredprivate AuthenticationManager authenticationManager;//客户端详情服务Overridepublic void configure(ClientDetailsServiceConfigurer clients)throws Exception {clients.inMemory()// 使用in-memory存储.withClient(XcWebApp)// client_id.secret(XcWebApp)//客户端密钥 // .secret(new BCryptPasswordEncoder().encode(XcWebApp))//客户端密钥.resourceIds(xuecheng-plus)//资源列表.authorizedGrantTypes(authorization_code, password,client_credentials,implicit,refresh_token)// 该client允许的授权类型authorization_code,password,refresh_token,implicit,client_credentials.scopes(all)// 允许的授权范围.autoApprove(false)//false跳转到授权页面//客户端接收授权码的重定向地址.redirectUris(http://www.xuecheng-plus.com);}//令牌端点的访问配置Overridepublic void configure(AuthorizationServerEndpointsConfigurer endpoints) {endpoints.authenticationManager(authenticationManager)//认证管理器.tokenServices(authorizationServerTokenServices)//令牌管理服务.allowedTokenEndpointRequestMethods(HttpMethod.POST);}//令牌端点的安全配置Overridepublic void configure(AuthorizationServerSecurityConfigurer security){security.tokenKeyAccess(permitAll()) //oauth/token_key是公开.checkTokenAccess(permitAll()) //oauth/check_token公开.allowFormAuthenticationForClients() //表单认证申请令牌;}}package com.xuecheng.auth.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.oauth2.provider.token.AuthorizationServerTokenServices; import org.springframework.security.oauth2.provider.token.DefaultTokenServices; import org.springframework.security.oauth2.provider.token.TokenEnhancerChain; import org.springframework.security.oauth2.provider.token.TokenStore; import org.springframework.security.oauth2.provider.token.store.InMemoryTokenStore; import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter; import org.springframework.security.oauth2.provider.token.store.JwtTokenStore;import java.util.Arrays;/*** author Administrator* version 1.0**/ Configuration public class TokenConfig {AutowiredTokenStore tokenStore;Beanpublic TokenStore tokenStore() {//使用内存存储令牌普通令牌return new InMemoryTokenStore();}Bean(nameauthorizationServerTokenServicesCustom)public AuthorizationServerTokenServices tokenService() {DefaultTokenServices servicenew DefaultTokenServices();service.setSupportRefreshToken(true);//支持刷新令牌service.setTokenStore(tokenStore);//令牌存储策略service.setAccessTokenValiditySeconds(7200); // 令牌默认有效期2小时service.setRefreshTokenValiditySeconds(259200); // 刷新令牌默认有效期3天return service;}}1ClientDetailsServiceConfigurer用来配置客户端详情服务ClientDetailsService 随便一个客户端都可以随便接入到它的认证服务吗答案是否定的服务提供商会给批准接入的客户端一个身份用于接入时的凭据有客户端标识和客户端秘钥在这里配置批准接入的客户端的详细信息。 2AuthorizationServerEndpointsConfigurer用来配置令牌token的访问端点和令牌服务(token services)。 3AuthorizationServerSecurityConfigurer用来配置令牌端点的安全约束. 2、TokenConfig为令牌策略配置类 测试 重启认证服务 1、get请求获取授权码 地址: /oauth/authorize?client_idXcWebAppresponse_typecodescopeallredirect_urihttp://www.xuecheng-plus.com 参数列表如下 client_id客户端准入标识。 response_type授权码模式固定为code。 scope客户端权限。 redirect_uri跳转uri当授权码申请成功后会跳转到此地址并在后边带上code参数授权码。 输入账号zhangsan、密码123登录成功输入/oauth/authorize?client_idXcWebAppresponse_typecodescopeallredirect_urihttp://www.xuecheng-plus.com 显示授权页面 授权“XcWebApp”访问自己的受保护资源? 选择同意。 2、请求成功重定向至http://www.xuecheng-plus.com/?code授权码比如http://www.xuecheng-plus.com/?codeWqjb5H 3、使用httpclient工具post申请令牌 /oauth/token?client_idXcWebAppclient_secretXcWebAppgrant_typeauthorization_codecode授权码redirect_urihttp://www.xuecheng-plus.com/ 参数列表如下 client_id客户端准入标识。 client_secret客户端秘钥。 grant_type授权类型填写authorization_code表示授权码模式 code授权码就是刚刚获取的授权码注意授权码只使用一次就无效了需要重新申请。 redirect_uri申请授权码时的跳转url一定和申请授权码时用的redirect_uri一致。 使用postman访问code部分要换成浏览器本次提供的授权码 授权码的有效期只有一次 localhost:63070/auth/oauth/token?client_idXcWebAppclient_secretXcWebAppgrant_typeauthorization_codecode4M16wWredirect_urihttp://www.xuecheng-plus.com 1、access_token访问令牌用于访问资源使用。 2、token_typebearer是在RFC6750中定义的一种token类型在携带令牌访问资源时需要在head中加入bearer 空格 令牌内容 3、refresh_token当令牌快过期时使用刷新令牌可以再次生成令牌。 4、expires_in过期时间秒 5、scope令牌的权限范围服务端可以根据令牌的权限范围去对令牌授权。 4.2密码模式 一般用于同一个公司内部的应用之间密码模式相对授权码模式简单授权码模式需要借助浏览器供用户亲自授权密码模式不用借助浏览器如下图 1、资源拥有者提供账号和密码 2、客户端向认证服务申请令牌请求中携带账号和密码 3、认证服务校验账号和密码正确颁发令牌。 测试 localhost:63070/auth/oauth/token?client_idXcWebAppclient_secretXcWebAppgrant_typepasswordusernamezhangsanpassword123
http://www.w-s-a.com/news/393439/

相关文章:

  • 点餐网站怎么做济源网站建设济源
  • 嘉兴公司网站制作文明网站的建设与管理几点思考
  • 扬州公司做网站徐州网站建设优化
  • 手机网站弹出层插件有哪些wordpress 文章标签
  • 网站建设详细合同范本长沙注册公司流程与费用
  • 搜索引擎网站录入wordpress怎么修改导航
  • 业务接单网站重庆网站制
  • 绿色农产品网站景区网站建设策划方案
  • 服务器做ssr后还可以做网站吗品牌形象设计公司
  • 太原网站制作计划wordpress创建文章
  • 网站优化要怎么做seo网站关键词优化报价
  • 公司网站友情链接怎么做副链华为荣耀手机官网
  • 一条龙做网站旅游网页设计模板图凡科
  • 中山网站建设哪家便宜在中国做外国网站怎么收钱
  • 网站优化大计孝感注册公司
  • 设计接单app平台有哪些在线网站seo诊断
  • 兰州网站建设推广现代营销手段有哪些
  • 郴州网站seo优化网络安全哪个培训班比较好
  • 做网站需要记哪些代码企业网站建设思路
  • 重庆自助建站模板网络服务器配置与管理
  • 外贸网站怎样做小程序买量平台
  • 中山精品网站建设机构海外留学网站建设方案
  • 长春网站建设工作如何取消wordpress页脚
  • 忻府网站建设排名网络管理系统官网
  • 张家港外贸网站建设国医堂网站平台建设
  • 水冶那里有做网站的对于网站链接优化有哪些建议
  • 宝安中心地铁站是几号线化妆品网站做的好的
  • 海宁营销型网站设计企业融资是什么意思
  • 淘宝客做网站要钱吗网站开发试题库
  • 10g空间网站做视频网站网站建设找超速云