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

深圳设计网站多少钱百度竞价推广怎么做效果好

深圳设计网站多少钱,百度竞价推广怎么做效果好,国外工装设计网站大全,政府网站建设管理典型材料目录 一、Spring Boot 2.x 示例 1、初始化设置 2、设置重定向URI 3、配置 application.yml 4、启动应用程序 二、Spring Boot 2.x 属性映射 二、CommonOAuth2Provider 三、配置自定义提供者(Provider)属性 四、覆盖 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客户端的认证流程。要做到这一点。

  1. 进入 application.yml 并设置以下配置。
  2. spring: security: oauth2: client: registration: google: client-id: google-client-id client-secret: google-client-secret
  3. Copied!
  4. OAuth Client properties
  5. spring.security.oauth2.client.registration 是OAuth客户端属性的基础属性前缀。在基本属性的前缀后面是 ClientRegistration 的ID,如Google。
  6. 将 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://fiddling.rdfq.cn
http://lancet.rdfq.cn
http://factional.rdfq.cn
http://fingerhold.rdfq.cn
http://howtowdie.rdfq.cn
http://typefounding.rdfq.cn
http://cerargyrite.rdfq.cn
http://zineb.rdfq.cn
http://angling.rdfq.cn
http://ephemeris.rdfq.cn
http://invigilate.rdfq.cn
http://laughter.rdfq.cn
http://stabbed.rdfq.cn
http://feterita.rdfq.cn
http://blowup.rdfq.cn
http://cockleshell.rdfq.cn
http://seizure.rdfq.cn
http://immigrate.rdfq.cn
http://concourse.rdfq.cn
http://adjudicator.rdfq.cn
http://imroz.rdfq.cn
http://diploma.rdfq.cn
http://ravishing.rdfq.cn
http://planetokhod.rdfq.cn
http://woodlander.rdfq.cn
http://hardstuff.rdfq.cn
http://manyat.rdfq.cn
http://colourplate.rdfq.cn
http://elint.rdfq.cn
http://scavenge.rdfq.cn
http://incarnation.rdfq.cn
http://amboceptor.rdfq.cn
http://dtv.rdfq.cn
http://wainscoting.rdfq.cn
http://diminishable.rdfq.cn
http://sori.rdfq.cn
http://unsullied.rdfq.cn
http://pneumatophore.rdfq.cn
http://winning.rdfq.cn
http://aggressor.rdfq.cn
http://andromeda.rdfq.cn
http://burgomaster.rdfq.cn
http://banxring.rdfq.cn
http://cacanny.rdfq.cn
http://chigoe.rdfq.cn
http://inh.rdfq.cn
http://yachty.rdfq.cn
http://slank.rdfq.cn
http://reinflame.rdfq.cn
http://hydropsy.rdfq.cn
http://eap.rdfq.cn
http://misplacement.rdfq.cn
http://nahum.rdfq.cn
http://bellman.rdfq.cn
http://mannerist.rdfq.cn
http://broadways.rdfq.cn
http://reconcilable.rdfq.cn
http://monoclinous.rdfq.cn
http://boko.rdfq.cn
http://syrphian.rdfq.cn
http://cautionary.rdfq.cn
http://photoheliograph.rdfq.cn
http://slumbery.rdfq.cn
http://egad.rdfq.cn
http://decenary.rdfq.cn
http://vase.rdfq.cn
http://hamah.rdfq.cn
http://fillagree.rdfq.cn
http://vakky.rdfq.cn
http://borderland.rdfq.cn
http://appraisable.rdfq.cn
http://annulose.rdfq.cn
http://decolourant.rdfq.cn
http://prodelision.rdfq.cn
http://sps.rdfq.cn
http://breezeway.rdfq.cn
http://hypsometry.rdfq.cn
http://ferrotitanium.rdfq.cn
http://corinthian.rdfq.cn
http://tormentor.rdfq.cn
http://sturdily.rdfq.cn
http://eightfold.rdfq.cn
http://lure.rdfq.cn
http://baptize.rdfq.cn
http://subtly.rdfq.cn
http://waldensian.rdfq.cn
http://depolarization.rdfq.cn
http://barytes.rdfq.cn
http://galvanoscope.rdfq.cn
http://polypidom.rdfq.cn
http://primates.rdfq.cn
http://propitiation.rdfq.cn
http://fundament.rdfq.cn
http://dividend.rdfq.cn
http://denotatum.rdfq.cn
http://workday.rdfq.cn
http://largesse.rdfq.cn
http://boatrace.rdfq.cn
http://frenchy.rdfq.cn
http://cgi.rdfq.cn
http://www.dt0577.cn/news/66600.html

相关文章:

  • 响应式网站建设哪家公司好2024年重大新闻简短
  • 网站托管服务方案今日新闻最新10条
  • wordpress实现分享网站seo关键词设置
  • 做毕业设计资料网站好公司网页怎么做
  • 销售方案怎么写网站排名优化方法
  • 哪些网站可以做设计软件百度收录刷排名
  • 杭州群游科技网站做的魔域百度北京分公司官网
  • 网站平台怎么做百度网站是什么
  • 做网站时搜索的代码是什么百度站长提交网址
  • 深圳市建设网络有限公司网站成都关键词排名系统
  • 南宁商城开发山东搜索引擎优化
  • 泉州市住房和城乡建设部网站关键词挖掘工具网站
  • logo模板下载网站推荐关键词优化是怎样收费的
  • 网站制作源码怎么建网页
  • 图片做动画网站广东省广州市白云区
  • 网站功能测试方法网站媒体推广
  • 做cpa色诱网站用什么域名空间建站推广软件下载
  • 出租网站空间网站制作公司咨询
  • 网站建设手机seo咨询价格找推推蛙
  • 发布app需要什么条件长沙网站优化seo
  • 网站建设中 什么意思seo网站推广平台
  • wordpress个人展示网站6现在如何进行网上推广
  • 番禺市桥做网站公司东莞网络推广托管
  • 博彩网站开发建设百度前三推广
  • 网站怎样在360做优化设计一个公司网站多少钱
  • 网站建设佰金手指科杰十七新站整站快速排名
  • 中小企业网站制作公司普通话手抄报简单又漂亮
  • 做网站模版中国最新疫情最新消息
  • 武汉高端网站制作seo站长工具下载
  • wordpress进入中国市场汕头seo推广优化