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

wordpress更换域名批量替换宁波网站制作优化服务

wordpress更换域名批量替换,宁波网站制作优化服务,采集wordpress上的内容,网站免费申请空间文章目录 前言前期准备配置客户端 ID 和重定向 URL配置 OAuth 权限请求页面 登录流程前端演示代码后端演示代码 总结个人简介 前言 Google OAuth 2.0 是其中一种常见的第三方登录方式#xff0c;广泛应用于各类网站和应用程序。通过 Google OAuth 2.0#xff0c;用户可以使用… 文章目录 前言前期准备配置客户端 ID 和重定向 URL配置 OAuth 权限请求页面 登录流程前端演示代码后端演示代码 总结个人简介 前言 Google OAuth 2.0 是其中一种常见的第三方登录方式广泛应用于各类网站和应用程序。通过 Google OAuth 2.0用户可以使用其 Google 账户轻松登录第三方网站而不必创建额外的账户。本文将介绍如何集成 Google OAuth 2.0 服务实现用户在第三方网站上的登录。 前期准备 配置客户端 ID 和重定向 URL 访问 Google API Console 获取 OAuth 2.0 凭据。点击左侧边栏的“Credentials”选项然后创建一个客户端 IDOAuth client ID。 选择你的应用类型可以选择 Web 站点、Android、或者 IOS 应用等这取决于你的业务。接着在 “Authorized JavaScript origins” 这一栏目填写你的网站域名即可如果是本地调试的话通常设置为http://localhost如果有端口加一个端口名如 http://localhost:8000这里的目的是让谷歌知道你网站托管的 HTTP 来源。然后在“Authorized redirect URIs”这一栏目填写你的重定向地址一般是你的后端登录路径。 上文相关的选项都配置好以后点击“CREATE”按钮来保存并生成客户端 IDClient ID 和客户端密钥Client secret。 配置 OAuth 权限请求页面 点击左侧列表的“OAuth consent srceen” 选项创建一个应用。 填写应用的基本信息比如名字、邮箱、域名等。这个页面的信息会显示在弹出的确认授权登录框中可帮助最终用户了解你是谁并与你联系。 配置可访问的权限将权限勾选后保存即可。 添加测试账户也就是在未正式上线之前可以进行 OAuth 2.0 登录的邮箱账。 登录流程 前端演示代码 !DOCTYPE html html langen headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleGoogle Login/titlescript srchttps://apis.google.com/js/platform.js async defer/script /head body h2Google 登录示例/h2 button idgoogleSignInButton使用 Google 登录/buttonscriptdocument.getElementById(googleSignInButton).onclick function () {// Google OAuth 2.0 URLconst clientId 994578547547-gc6XXXX0vp9hl.apps.googleusercontent.com; // 替换为你的Google客户端IDconst redirectUri http://localhost:8000/api/google/login; // 替换为后端的回调登录URIconst scope email profile;const responseType code;const googleAuthUrl https://accounts.google.com/o/oauth2/v2/auth?client_id${clientId}redirect_uri${redirectUri}response_type${responseType}scope${scope};// 重定向到 Google OAuth 2.0 授权页面window.location.href googleAuthUrl;}; /script /body /html后端演示代码 Maven 依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-oauth2-client/artifactId/dependencygoogle:token-apply-url: https://oauth2.googleapis.com/tokenuserinfo-url: https://www.googleapis.com/oauth2/v3/userinfooauth2:client-id: 994578547547-gc6uXXXXjtpk0vp9hl.apps.googleusercontent.comclient-secret: GOCSPX-nWFVXXXXFImvw3iHLNkRApi(tags 谷歌服务相关请求) RestController RequestMapping(/api/google) RequiredArgsConstructor public class GoogleController {Value(${google.oauth2.client-id})private String clientId;Value(${google.oauth2.client-secret})private String clientSecret;Value(${google.token-apply-url})private String tokenEndpoint;Value(${google.userinfo-url})private String userInfoEndpoint;private final RestTemplate restTemplate;private final TokenProvider tokenProvider;private final UserDetailsService userDetailsService;private final UserService userService;private final SecurityProperties properties;private final OnlineUserService onlineUserService;AnonymousGetMapping(/login)public ResponseEntityObject handleGoogleLogin(RequestParam(code) String authorizationCode, HttpServletRequest req) {// Step 1: 用授权码获取 Access TokenMultiValueMapString, String params new LinkedMultiValueMap();params.add(client_id, clientId);params.add(client_secret, clientSecret);params.add(code, authorizationCode);params.add(redirect_uri, http://localhost:8000/api/google/login);params.add(grant_type, authorization_code);HttpHeaders headers new HttpHeaders();headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);HttpEntityMultiValueMapString, String request new HttpEntity(params, headers);ResponseEntityMap response restTemplate.postForEntity(tokenEndpoint, request, Map.class);String accessToken (String) response.getBody().get(access_token);// Step 2: 用 Access Token 获取用户信息HttpHeaders userInfoHeaders new HttpHeaders();userInfoHeaders.setBearerAuth(accessToken);HttpEntityString userInfoRequest new HttpEntity(userInfoHeaders);ResponseEntityMap userInfoResponse restTemplate.exchange(userInfoEndpoint, HttpMethod.GET, userInfoRequest, Map.class);MapString, Object userInfo userInfoResponse.getBody();String googleId (String) userInfo.get(sub);String email (String) userInfo.get(email);String name (String) userInfo.get(name);String picture (String) userInfo.get(picture);// 用户登录逻辑、并返回用户信息、会话信息} }总结 通过集成 Google OAuth 2.0 服务第三方网站可以实现简单、快捷且安全的用户登录方式。OAuth 2.0 的流程保障了用户的隐私安全不需要将敏感信息如密码提供给第三方应用。同时使用 Google 登录可以减少用户的注册步骤提升用户体验。 个人简介 你好我是 Lorin 洛林一位 Java 后端技术开发者座右铭Technology has the power to make the world a better place. 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。 作为一个 Java 后端技术爱好者我不仅热衷于探索语言的新特性和技术的深度还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。 在我的博客上你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法以帮助你更好地掌握Java编程。 我鼓励互动和建立社区因此请留下你的问题、建议或主题请求让我知道你感兴趣的内容。此外我将分享最新的互联网和技术资讯以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进一起探讨技术世界的无限可能性。 保持关注我的博客让我们共同追求技术卓越。
http://www.hkea.cn/news/14531276/

相关文章:

  • 专业网站建设常州企业网站软件下载
  • 湖北华亚建设工程有限公司网站做公司网站要多久
  • 做最好的在线看片网站开发公司完工后的维修账务处理
  • vip网站解析建设莱芜在线和莱芜都市网
  • 网站备案号 怎么写奢侈品网站模板
  • 福州网站制作托管维护在手机上怎么做app软件
  • 基础型网站价格网站建设后怎么写
  • 网站部署设计公司建站有哪些优势
  • 有没有可以做兼职的网站吗今天的新闻 最新消息摘抄
  • 怎么自己网站建设做网站上传服务器吗
  • 旅游便宜的网站建设建设部网站投标保证金
  • 平邑建设局网站首页卢松松的网站
  • 温州网站开发网站的制作济南做网站找哪家好
  • 网站让百度收录应该怎么做wordpress通用主题
  • 深圳做个网站要多少钱wordpress与阿里服务器区分
  • 设计公司网站设计方案西安外贸网站建设公司
  • 精彩网站制作网站设计的技能
  • 网站建设款分录免费的精准引流软件
  • 保定建网站公司网站线下推广怎么做
  • 专业网站推广的公司哪家好熊猫关键词挖掘工具
  • 网站seo外链网站备案 换空间
  • 品牌网站制作哪家好公司网站搭建费用
  • 怎么做各个地图网站的认证wordpress默认主体设置
  • 多终端响应式网站免费入驻的网站设计平台
  • 公司建设网站产生哪些费用五合一营销型网站
  • 哈尔滨网站制作推广入侵织梦网站
  • 网站建设明细费用弄个微信小程序多少钱
  • 个人网站需要哪些内容怎样做网络推广效果好
  • 深圳制作网站多少费用wordpress 插件 二次元
  • 网站设计部的优化百度指数的数据怎么导出