跨平台 Google OAuth 登录:redirect_uri 不匹配

2023-12-08

我使用 Google OAuth 对我的应用程序上的用户进行身份验证,并面临以下问题redirect_uri支持多个客户端应用程序。

在服务器端,我提供了一个使用 Google PHP SDK 的 REST API,登录流程几乎与此处描述的类似:https://developers.google.com/identity/sign-in/web/server-side-flow

我有两个客户端应用程序:一个使用 JavaScript SDK 的网站和一个使用 android 客户端的 Android 应用程序,实现为https://developers.google.com/identity/sign-in/android/start-integrating

我没有在Google控制台中配置redirect_uri。我的问题是我设置了redirect_uri to postmessage在我的服务器代码中,但我无法在 Android 应用程序中使用它:我得到一个redirect_uri mismatch error.

$this->client = new Google_Client;
$this->client->setRedirectUri('postmessage');

如果没有这个 uri,我的网络客户端上的 google 登录会抛出错误“获取 OAuth2 访问令牌时出错,消息:

invalid_request:缺少参数:redirect_uri

如果我不指定redirect_uri,则登录在 Android 上工作正常,但 Web 客户端无法工作。我该如何解决这个问题?


您需要按如下方式设置重定向 uri:

  1. 如果是 web sdk 将其设置为'postmessage'
  2. 如果它是移动设备(在你的情况下是android),请将其设置为''(空字符串)

从客户端传递某种标识符,以便您在服务器中知道应该设置哪个重定向 uri。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跨平台 Google OAuth 登录:redirect_uri 不匹配 的相关文章

  • PHP header() 和 jquery mobile

    我想使用 php header Location newpage php 进行重定向 我没有收到错误 但 Jquery mobile 似乎无法加载目标页面 并且地址栏仍保留旧地址 请问您有什么建议吗 Thanks 尝试添加data ajax
  • 如何在 Laravel 5 中处理嵌套的 JSON 对象请求?

    我们在 Laravel 5 和 AngularJs Ionic 中运行此 Web 服务来处理 Web 当我们将请求从 Web 客户端 发送到 Web 服务 后端 时 我们传递了嵌套的 JSON 对象 我们在读取服务器端父对象下的所有子对象时
  • WAMP 不显示目录列表中的图标

    过去 我通过 vmware 处理 PHP 代码 但最近我决定转而通过 WAMP 在 Windows 8 1 上 在本地进行处理 我创建了一个空文件夹tests in the www folder 然后在我的浏览器上输入http localh
  • 检测设备方向

    我需要检测 Android 设备方向变化 而无需手动处理传感器数据 同时保持活动方向坚持某个方向 onConfigurationChange不会起作用 因为会让我的活动不旋转 通过使用传感器数据来检测方向变化 我认为这是轮子的发明 因为 A
  • 使用 DOM 获取 div 的内容(包括子标签)

    我正在使用 DOM 来获取 div 标签的内容 但内部 html 部分未显示 功能是 dom new DOMDocument libxml use internal errors true dom gt loadHTMLFile url l
  • 如何创建环境变量来保护我的网站的 Google 地图 API 密钥(或任何其他秘密值)?

    我正在学习使用 Bootstrap 编写自己的网站 并使用 Google 地图 API 密钥和 Google Developers 的脚本轻松地将地图放置在我的页面上 理想情况下 我会有类似的东西 即我已经尝试过这个 Html PHP
  • Android中如何使用intent加载本地html页面?

    我的 asset 目录中有一个 html 文件 我必须使用 Intent 将其加载为浏览器应用程序 这是我的代码 但它不起作用 startActivity new Intent Intent ACTION VIEW Uri parse fi
  • 如何覆盖 phpunit 中导出的变量?

    我知道我可以设置环境变量 https phpunit de manual current en appendixes configuration html在我的 phpunit xml 里面
  • 避免 SQLite3 中的 SQL 注入

    我正在尝试找出一种避免 SQL 注入的好简单方法 到目前为止我只能提出两个想法 对用户输入进行 Base64 编码 其实不想这样做 使用正则表达式删除不需要的字符 目前正在使用这个 不确定是否100 安全 这是我当前的代码
  • 使用 Box2d(适用于 Android)进行碰撞检测?

    有人可以解释一下使用 box2d for android 进行碰撞检测的工作原理吗 我无法理解 BBContactListener 以什么方式工作 BBContactListener listener new BBContactListen
  • 如何让surfaceview透明

    大家好 我想让我的 DrawingSurface 视图透明 我尝试了很多东西 但它不起作用 这是我的 xml 代码 使我的表面视图透明
  • Android 两个 Activity 之间的共享元素转换不起作用

    在我的应用程序中 我尝试使用新引入的活动之间共享的元素 如果共享元素具有固定位置 例如 android layout gravity top 但是当视图被锚定时问题就出现了 我的第一个活动如下所示
  • android - 如何让按钮每次按下时单击播放声音文件?

    我打开了一个新项目 现在我想做的是 通过按下按钮 我想要播放一个 mp3 文件 而且每次按下按钮时 声音文件都会再次从头开始播放 所以假设 mp3 长 10 秒 我按下按钮 它正在播放 4 秒后我再次按下按钮 声音将再次播放 现在我想知道的
  • 如何获取Android中的所有主屏幕?

    我是安卓开发新手 我知道每个主屏幕都是启动器中的一个工作区 我想获取屏幕上所有应用程序图标的所有位置信息 那么有没有办法获取这些屏幕对象及其图标信息的列表 ADD 我更期待的是应用程序图标和屏幕之间的关系 例如 我想要某个应用程序图标的位置
  • 如何使用 PDO 动态构建查询

    我正在使用 PDO 并想做这样的事情 query dbh gt prepare SELECT FROM table WHERE column value query gt bindParam table tableName query gt
  • 从多个选择列表中插入数据到mysql数据库(html形式)

    我制作了一个表格 其中有商店的 ID
  • SimpleDateFormat 无法解析的日期 如果语言环境为 ES,则会出现错误。推特“创建时间”

    我正在尝试将 Twitter created at 转换为阿根廷日期时间 如果我这样做 final String TWITTER EEE MMM dd HH mm ss SimpleDateFormat sf new SimpleDateF
  • 活动中列表视图中的粘滞行

    我的列表视图中只有一行应该是粘性的 而不是粘性标题中带有字母的部分或部分 我真的很感激任何关于列表视图在活动中粘性一行而不是片段的帮助 我该怎么做 我真的很感谢任何帮助 提前致谢 使用如下代码 class MyAsyncTask exten
  • Android - 检测视图上的双击和三次点击

    我一直在尝试构建一个可以检测双敲击和三敲击的敲击检测器 在我的努力失败后 我在网上搜索了很长时间以找到可以使用的东西 但没有运气 奇怪的是 像这样的图书馆如此稀缺 有什么帮助吗 你可以尝试这样的事情 尽管我通常建议不要使用三次点击作为一种模
  • PHP 中的嵌套 JSON 输出

    我正在为 iOS 应用程序构建 API 并尝试将 mySQL 数据转换为 JSON 字符串进行处理 所需的输出将需要顶级订单详细信息 例如客户名称和地址 然后是订购的产品子数组 我需要的两个表中有相当多的字段 我希望拥有所有字段 我已经构建

随机推荐

  • SQL 代理:设置最大执行时间

    下午 我在 MS 2K8 BI 服务器上运行多个 SQL 代理作业 其中一些每天运行一次 其他每小时运行一次 每两分钟运行一次 另一个进程的心跳监视器 还有一个应用程序可以全天候每隔几分钟导入一次数据 有时 更新和报告的某些组合会发生冲突
  • 使用 Facebook sdk 发布嵌入的 YouTube 链接

    当您有意在 FB 上分享 YouTube 链接时 它会自动将 YouTube 播放器嵌入到您的墙上 如下所示 但是 当我尝试使用发布相同的视频时FB sdk HelloFacebookSampleActivity gt postStatus
  • 如何从 C# winform 应用程序检索屏幕分辨率?

    如何检索我的 C Winform 应用程序运行时的屏幕分辨率 您是否只需要标准应用程序使用的区域 即排除 Windows 任务栏和停靠窗口 如果是这样 请使用Screen WorkingArea 属性 否则 使用屏幕边界 如果有多个显示器
  • 嵌入式 Facebook Like-Box 不允许我设计它。为什么?

    我正在尝试在我的网站页面上放置一个 Facebook Like Box 然后通过我自己的 CSS 对其进行样式设置 主要是为了增加 div stream content 的高度 这个想法是让 FB feed 充当新闻 feed 但我不希望用
  • Rails 卷曲语法

    我可以从我的 Rails 应用程序运行以下命令 Hash from xml x curl d admin true http localhost 8888 rescue nil 现在我想用变量替换 admin true 如果我有 x adm
  • 为什么数组大小为 1 [重复]

    这个问题在这里已经有答案了 可能的重复 C 编程语言中数组的大小 我正在尝试编写一个函数 如果数组中有值则返回 1 这是代码 int inArrayInt int iVal int iArray int i int arrayL sizeo
  • 使用 Python BeautifulSoup 查找页数

    我想从 Steam 页面中提取总页码 本例中为 11 我相信以下代码应该可以工作 返回 11 但它返回一个空列表 就像如果没有找到一样paged items paging pagelink class import requests imp
  • 在自定义 JsonConverter 中,如何确定 Utf8JsonReader 数字标记是小数还是长整型?

    我有这个json转换器需要将给定的属性值转换为小数或长整型 具体取决于该值 但我似乎无法确定属性值何时为小数或长整型 因为 tokentype 只能检测数字 我该如何解决这个问题吗 public override IDictionary
  • 设置捆绑包的自定义视图控制器?

    我有一个带有设置视图的应用程序 可以从远程服务器动态加载设置 运行良好 我还想在 iPhone 设置中提供这些功能 但设置包似乎仅限于加载并保存到本地 NSUserDefaults 的简单键值 有没有办法为此指定自定义视图 设置包基于 pl
  • NSAttributedString,整体更改字体但保留所有其他属性?

    假设我有一个NSMutableAttributedString 该字符串有多种多样的mix整个格式化 这是一个例子 这个字符串是hell to change in iOS it really sucks 然而 字体本身并不是您想要的字体 我
  • 在 PHP 中使用 comet?

    我正在考虑使用 PHP 后端实现实时聊天 但我在讨论 comet 的网站上看到了这样的评论 我的理解是 PHP 是 彗星的语言很糟糕 因为 Comet 要求你保留一个 对每个人开放的持久连接 浏览器客户端 使用 mod php 这个 意味着
  • 如何定义描述内存位置的宏? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 变量位于内存地址 0x10000 处 如何定义一个宏 以便写入该宏会写入该内存位置 在 C 中声明可写内存位置的事实上的标准方法是这样的 define REGISTER vola
  • 如何获取客户端程序的本地TCP端口和IP地址?

    我正在准备一个简单的工作项目 并尝试熟悉 Unix 开发环境中套接字编程的基础知识 此时 我已经有了一些基本的服务器端代码和客户端代码设置来进行通信 目前 我的客户端代码成功连接到服务器代码 服务器代码向其发送测试消息 然后两者都退出 完美
  • 从 Repository() 编译的源代码未放入分层 SCons 项目的变体目录中

    我有一个分层项目 它使用公共系统目录中的源代码 为此我使用 SConsRepository 函数并希望将所有构建输出 本地代码和从存储库中获取的代码 放置在variant dir中 如果我使用Repository 在简单场景中运行函数 非分
  • 为什么具有position:fixed的元素会与未定位的同级元素一起移动?

    关于S O 有很多问题 其中涵盖了如何解决此问题的答案 添加top 0 但他们都没有试图真正解释标题移动背后的原因 我更好奇为什么会出现这种情况
  • npm WARN ... 需要...的同级,但没有安装。您必须自己安装对等依赖项

    我尝试运行从下载的项目github 不幸的是 期间npm install显示以下警告 我尝试根据此更改版本question 但是 我遇到了一个问题 因为有些软件包需要多个版本 而其他软件包则需要多个版本 考虑这两行 npm WARN ang
  • 将 JavaRDD 转换为 DataFrame 时出现 Spark 错误:java.util.Arrays$ArrayList 不是 array 架构的有效外部类型

    我使用的是 Spark 2 1 0 对于以下代码 它读取文本文件并将内容转换为 DataFrame 然后输入到 Word2Vector 模型中 SparkSession spark SparkSession builder appName
  • 使用 Picasso 在受保护的站点上下载 base64 图像

    我尝试用这个Android Picasso库 如何添加身份验证标头 访问返回该图像的 base64 版本的受保护图像 我的问题是毕加索总是失败 我不知道为什么 由于配置文件详细信息已加载 授权代码有效 只是图像不是 这是我的实现如何获取图像
  • 使用 std::string 构造函数复制 const char *

    这段代码可以吗 void SomeClass foo const char name name is of type const char name std string name c str 看起来它正在工作 但我不确定它是否可以 我应该
  • 跨平台 Google OAuth 登录:redirect_uri 不匹配

    我使用 Google OAuth 对我的应用程序上的用户进行身份验证 并面临以下问题redirect uri支持多个客户端应用程序 在服务器端 我提供了一个使用 Google PHP SDK 的 REST API 登录流程几乎与此处描述的类