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

天津网站开发建设公司好听罕见绝不重名的公司名称

天津网站开发建设公司,好听罕见绝不重名的公司名称,建个企业网站需要多少钱,青岛做网站哪里好目录 一、Spring Boot 2.x 示例 1、初始化设置 2、设置重定向URI 3、配置 application.yml 4、启动应用程序 二、Spring Boot 2.x 属性映射 二、CommonOAuth2Provider 三、配置自定义提供者#xff08;Provider#xff09;属性 四、覆盖 Spring Boot 2.x 的自动配置…目录 一、Spring Boot 2.x 示例 1、初始化设置 2、设置重定向URI 3、配置 application.yml 4、启动应用程序 二、Spring Boot 2.x 属性映射 二、CommonOAuth2Provider 三、配置自定义提供者Provider属性 四、覆盖 Spring Boot 2.x 的自动配置 五、注册一个 ClientRegistrationRepository Bean 六、注册一个 SecurityFilterChain Bean 七、完全覆盖自动配置 八、不使用 Spring Boot 2.x 的 Java 配置 一、Spring Boot 2.x 示例 Spring Boot 2.x为OAuth 2.0登录带来了全面的自动配置功能。 本节展示了如何通过使用Google作为认证提供者来配置 OAuth 2.0 登录示例并涵盖以下主题。 初始化设置设置重定向URI配置 application.yml启动应用程序 1、初始化设置 要使用谷歌的OAuth 2.0认证系统进行登录你必须在谷歌API控制台中设置一个项目以获得OAuth 2.0凭证。 谷歌用于认证的 OAuth 2.0实现 符合 OpenID Connect 1.0规范并通过了 OpenID认证。 按照 OpenID Connect 页面上的指示从 “Setting up OAuth 2.0” 部分开始。 在完成 “Obtain OAuth 2.0 credentials” 的说明后你应该有新的OAuth客户端其证书包括一个 Client ID 和一个 Client Secret。 2、设置重定向URI 重定向URI是终端用户的用户代理在通过谷歌认证并在同意页面上授权访问OAuth客户端 在上一步创建的后被重定向到应用程序中的路径。 在 设置重定向URI 小节中确保授权的重定向URI字段被设置为 localhost:8080/login/oauth2/code/google。 默认重定向URI模板是 {baseUrl}/login/oauth2/code/{registrationId}。registrationId 是 ClientRegistration 的唯一标识符。 如果OAuth客户端在代理服务器后面运行你应该检查 代理服务器配置以确保应用程序的配置正确。另外请看支持的 URI模板变量 的 redirect-uri。 3、配置 application.yml 现在你已经有了一个新的谷歌OAuth客户端你需要配置应用程序以使用OAuth客户端的认证流程。要做到这一点。 进入 application.yml 并设置以下配置。spring: security: oauth2: client: registration: google: client-id: google-client-id client-secret: google-client-secretCopied!OAuth Client propertiesspring.security.oauth2.client.registration 是OAuth客户端属性的基础属性前缀。在基本属性的前缀后面是 ClientRegistration 的ID如Google。将 client-id 和 client-secret 属性中的值替换为你之前创建的OAuth 2.0凭证。 4、启动应用程序 启动Spring Boot 2.x 示例应用进入 localhost:8080。然后你会被重定向到默认的自动生成的登录页面其中显示一个Google的链接。 点击谷歌的链接然后你会被转到谷歌进行认证。 在用你的谷歌账户凭证进行认证后你会看到“同意界面”。“同意界面”要求你允许或拒绝访问你先前创建的OAuth客户端。点击 Allow授权OAuth客户端访问你的电子邮件地址和基本个人资料信息。 此时OAuth客户端从 UserInfo Endpoint 检索你的电子邮件地址和基本个人资料信息并建立一个已认证的会话Session。 二、Spring Boot 2.x 属性映射 下表列出了Spring Boot 2.x OAuth客户端属性与 ClientRegistration 属性的映射。 Spring Boot 2.x ClientRegistration spring.security.oauth2.client.registration.[registrationId] registrationId spring.security.oauth2.client.registration.[registrationId].client-id clientId spring.security.oauth2.client.registration.[registrationId].client-secret clientSecret spring.security.oauth2.client.registration.[registrationId].client-authentication-method clientAuthenticationMethod spring.security.oauth2.client.registration.[registrationId].authorization-grant-type authorizationGrantType spring.security.oauth2.client.registration.[registrationId].redirect-uri redirectUri spring.security.oauth2.client.registration.[registrationId].scope scopes spring.security.oauth2.client.registration.[registrationId].client-name clientName spring.security.oauth2.client.provider.[providerId].authorization-uri providerDetails.authorizationUri spring.security.oauth2.client.provider.[providerId].token-uri providerDetails.tokenUri spring.security.oauth2.client.provider.[providerId].jwk-set-uri providerDetails.jwkSetUri spring.security.oauth2.client.provider.[providerId].issuer-uri providerDetails.issuerUri spring.security.oauth2.client.provider.[providerId].user-info-uri providerDetails.userInfoEndpoint.uri spring.security.oauth2.client.provider.[providerId].user-info-authentication-method providerDetails.userInfoEndpoint.authenticationMethod spring.security.oauth2.client.provider.[providerId].user-name-attribute providerDetails.userInfoEndpoint.userNameAttributeName 你可以通过指定 spring.security.oauth2.client.provider.[providerId].issuer-uri 属性使用发现OpenID Connect提供者的 Configuration endpoint 或授权服务器的 Metadata endpoint 来初始配置 ClientRegistration。 二、CommonOAuth2Provider CommonOAuth2Provider 为一些知名的供应商预先定义了一套默认的客户端属性。如谷歌、GitHub、Facebook和Okta。 例如authorization-uri、token-uri 和 user-info-uri 对提供者来说不会经常改变。因此提供默认值是有意义的可以减少所需的配置。 正如之前所展示的当我们 配置谷歌客户端时只需要 client-id 和 client-secret 属性。 下面列出了一个例子。 spring:security:oauth2:client:registration:google:client-id: google-client-idclient-secret: google-client-secret 客户端属性的自动默认在这里工作得天衣无缝因为 registrationId谷歌与 CommonOAuth2Provider 中的 GOOGLE 枚举不区分大小写相匹配。 对于你可能想指定一个不同的 registrationId 的情况如 google-login你仍然可以通过配置 provider 属性来利用客户端属性的自动默认。 下面列出了一个例子。 spring:security:oauth2:client:registration:google-login: provider: google client-id: google-client-idclient-secret: google-client-secret registrationId 被设置为 google-login。 提供者属性被设置为 google这将利用 CommonOAuth2Provider.GOOGLE.getBuilder() 中设置的客户端属性的自动默认。 三、配置自定义提供者Provider属性 有一些OAuth 2.0供应商支持多租户这导致每个租户或子域都有不同的协议端点。 例如在Okta注册的OAuth客户端被分配到一个特定的子域并有他们自己的协议端点。 对于这些情况Spring Boot 2.x为配置自定义提供者属性提供了以下基础属性spring.security.oauth2.client.provider.[providerId]。 下面列出了一个例子。 spring:security:oauth2:client:registration:okta:client-id: okta-client-idclient-secret: okta-client-secretprovider:okta: authorization-uri: https://your-subdomain.oktapreview.com/oauth2/v1/authorizetoken-uri: https://your-subdomain.oktapreview.com/oauth2/v1/tokenuser-info-uri: https://your-subdomain.oktapreview.com/oauth2/v1/userinfouser-name-attribute: subjwk-set-uri: https://your-subdomain.oktapreview.com/oauth2/v1/keys 基础属性spring.security.oauth2.client.provider.okta允许自定义配置协议的端点位置。 四、覆盖 Spring Boot 2.x 的自动配置 用于支持OAuth客户端的 Spring Boot 2.x 自动配置类是 OAuth2ClientAutoConfiguration。 它执行以下任务。 注册一个由配置的OAuth客户端属性的 ClientRegistrationRepository Bean 组成的 ClientRegistration。注册一个 SecurityFilterChain Bean并通过 httpSecurity.oauth2Login() 启用OAuth 2.0登录。 如果你需要根据你的具体要求覆盖自动配置你可以通过以下方式进行。 注册一个 ClientRegistrationRepository Bean注册一个 SecurityFilterChain Bean完全覆盖自动配置 五、注册一个 ClientRegistrationRepository Bean 下面的例子显示了如何注册一个 ClientRegistrationRepository Bean。 Java Configuration public class OAuth2LoginConfig {Beanpublic ClientRegistrationRepository clientRegistrationRepository() {return new InMemoryClientRegistrationRepository(this.googleClientRegistration());}private ClientRegistration googleClientRegistration() {return ClientRegistration.withRegistrationId(google).clientId(google-client-id).clientSecret(google-client-secret).clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_BASIC).authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE).redirectUri({baseUrl}/login/oauth2/code/{registrationId}).scope(openid, profile, email, address, phone).authorizationUri(https://accounts.google.com/o/oauth2/v2/auth).tokenUri(https://www.googleapis.com/oauth2/v4/token).userInfoUri(https://www.googleapis.com/oauth2/v3/userinfo).userNameAttributeName(IdTokenClaimNames.SUB).jwkSetUri(https://www.googleapis.com/oauth2/v3/certs).clientName(Google).build();} } 六、注册一个 SecurityFilterChain Bean 下面的例子展示了如何用 EnableWebSecurity 注册一个 SecurityFilterChain Bean并通过 httpSecurity.oauth2Login() 启用OAuth 2.0登录。 OAuth2 Login Configuration Java Configuration EnableWebSecurity public class OAuth2LoginSecurityConfig {Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception {http.authorizeHttpRequests(authorize - authorize.anyRequest().authenticated()).oauth2Login(withDefaults());return http.build();} } 七、完全覆盖自动配置 下面的例子显示了如何通过注册一个 ClientRegistrationRepository Bean 和一个 SecurityFilterChain Bean 来完全覆盖自动配置。 Overriding the auto-configuration Java Configuration public class OAuth2LoginConfig {Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception {http.authorizeHttpRequests(authorize - authorize.anyRequest().authenticated()).oauth2Login(withDefaults());return http.build();}Beanpublic ClientRegistrationRepository clientRegistrationRepository() {return new InMemoryClientRegistrationRepository(this.googleClientRegistration());}private ClientRegistration googleClientRegistration() {return ClientRegistration.withRegistrationId(google).clientId(google-client-id).clientSecret(google-client-secret).clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_BASIC).authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE).redirectUri({baseUrl}/login/oauth2/code/{registrationId}).scope(openid, profile, email, address, phone).authorizationUri(https://accounts.google.com/o/oauth2/v2/auth).tokenUri(https://www.googleapis.com/oauth2/v4/token).userInfoUri(https://www.googleapis.com/oauth2/v3/userinfo).userNameAttributeName(IdTokenClaimNames.SUB).jwkSetUri(https://www.googleapis.com/oauth2/v3/certs).clientName(Google).build();} } 八、不使用 Spring Boot 2.x 的 Java 配置 如果你不能使用 Spring Boot 2.x并希望配置 CommonOAuth2Provider 中的一个预定义提供者例如谷歌请应用以下配置。 OAuth2 Login Configuration Java Configuration EnableWebSecurity public class OAuth2LoginConfig {Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception {http.authorizeHttpRequests(authorize - authorize.anyRequest().authenticated()).oauth2Login(withDefaults());return http.build();}Beanpublic ClientRegistrationRepository clientRegistrationRepository() {return new InMemoryClientRegistrationRepository(this.googleClientRegistration());}Beanpublic OAuth2AuthorizedClientService authorizedClientService(ClientRegistrationRepository clientRegistrationRepository) {return new InMemoryOAuth2AuthorizedClientService(clientRegistrationRepository);}Beanpublic OAuth2AuthorizedClientRepository authorizedClientRepository(OAuth2AuthorizedClientService authorizedClientService) {return new AuthenticatedPrincipalOAuth2AuthorizedClientRepository(authorizedClientService);}private ClientRegistration googleClientRegistration() {return CommonOAuth2Provider.GOOGLE.getBuilder(google).clientId(google-client-id).clientSecret(google-client-secret).build();} }
http://www.pierceye.com/news/910008/

相关文章:

  • 滨州j建设局网站投诉电话检察机关加强网站建设
  • 付费抽奖网站怎么做宁波网站推广营销
  • 单位的网站的建设个人网页制作策划书
  • 在中国可以做国外的域名网站吗企业网查询是什么
  • 网站开发在线浏览pdfwin7可以做网站吗
  • 手机上制作网站的软件巢湖有没有专门做网站的公司
  • 哪里有做企业网站的wordpress 主题类型
  • 什么是网站平台开发工具网站怎么做筛选功能的代码
  • 自建站 外贸军事内参消息
  • 化妆品网站建设实训总结坂田建设网站
  • 成都网站建设哪家专业嘉峪关市建设局网站
  • 企业策划 企业网站建设 品牌设计下载住小帮app看装修
  • wordpress文章内图片不显示不出来成都seo整站
  • 鞍钢节能公司网站开发陈仓网站建设
  • 手机网站怎样排版最好东莞常平招聘网最新招聘信息
  • 网站推广途径选择com域名和网站
  • 建设网站后如何上线免费的网站app下载
  • 哪些动物可以做网站名天津免费建站
  • 网站关键字优化技巧如何做推广麦当劳的网站
  • 广州公司注册场地要求网站怎么优化排名的方法
  • 自己做网站用什么软件建设银行网站联系电话
  • 做一个论坛网站需要多少钱推广型网站制作公司
  • 网站介绍页面网站建设怎么找客户资源
  • 我的百度网盘登录入口大兵seo博客
  • 注册监理工程师注册查询系统关于进一步优化 广州
  • 建设网站怎样挣钱网页设计培训班哪里好
  • 类似+wordpress+建站wordpress教程视频教程
  • wordpress多个网站百度识图扫一扫入口
  • 广州网站建设的费用网站建设外包必须注意几点
  • 蓬莱做网站公司辽宁省网站备案要求