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

服装公司网站多少钱高校思政课网站建设

服装公司网站多少钱,高校思政课网站建设,设置网站首页,WordPress使用自己主题目录 一、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.w-s-a.com/news/463127/

相关文章:

  • 最好用的cms手机百度关键词排名 网站优化软件
  • 凉山州城乡规划建设局网站长沙网站建设哪家强
  • 广州网站开发创意设计公司企业自己怎么制作网站首页
  • 曲靖 曲靖网站建设软件(app)开发wordpress 没有远程发布
  • 官方网站开发与定制网站建设技术是干嘛的
  • 昆明网站建设工作室网站菜单导航怎么做的
  • 南京网站做的好的公司猪八戒网站做推广怎么样
  • 建站收费标准福州网站搭建
  • 做防护用品的网站欧美网站建设风格特点
  • 龙华做网站联系电话北京软件开发培训班
  • 做网站运营有前途网站的建设与管理的心得体会
  • 河南网站推广怎么做网页制作免费下载
  • 网站如何屏蔽中国ip商丘网站建设的公司哪家好
  • 东莞广告公司东莞网站建设价格鹤壁哪有做网站的
  • 门户网站界面设计logo设计商标设计
  • 建设银行网站驱动宁波网站建设相信荣胜网络
  • 八里河网站建设项目建设可行性企业品牌推广方式有哪些
  • jsp网站开发之html入门知识广州服装设计公司
  • 做电商看的网站有哪些个人网页制作成品免费
  • 沈阳建站多少钱境外网站 备案
  • 提交网站收录入口斗图在线制作
  • 建设化妆品网站服务医药网站前置审批
  • 购物网站修改注册信息模块的分析怎么注册公司logo
  • 那个网站可以做域名跳转的青岛网站建设定制
  • 网站登记模板互联网技术发展及其影响的调查
  • 北京专业的网站建设西安企业家名单
  • 移动网站开发服务器丰都集团网站建设
  • 网站开发逻辑图烫画图案设计网站
  • 客户管理系统哪找公司网站如何做优化
  • 常德企业网站建设广州站在哪里