Google OAuth Android 的重定向 url

2023-12-06

从未真正使用过 OAuth,现在尝试实现它,我想从 google 和 facebook 获取访问令牌和配置文件数据。使用 Xamarin.Auth。

使用 Facebook 没有问题,我指定“http://www.facebook.com/connect/login_success.html“作为重定向网址,登录后它会返回到我之前的活动。

然而,对于谷歌来说,它并不那么顺利 - 找不到任何类似于 facebook 登录成功页面,在某处找到了使用建议“https://www.googleapis.com/plus/v1/people/me“ - 将其添加到重定向网址白名单中,但是登录后我会得到"Redirect_url_mismatch" A native application: application name根据他们的文档,我应该使用“my.package.name:”,并再次添加它来重定向网址白名单,尝试登录,这次登录屏幕后,我进入第二个屏幕,我需要在其中确认读取权限和之后,我收到非常短的错误,例如“com.my.package:/?oauthparameterX=value1....”,并再次重定向到权限屏幕。

这是我完整的 OAuth2Authenticator:

var auth = new OAuth2Authenticator(
            clientId: SocialIds.GooglePlusId,
            clientSecret: SocialIds.GooglePlusSecret,
            scope: OAuthUrl.GoogleScope,
            authorizeUrl: new Uri(OAuthUrl.GoogleAuthorize),
            redirectUrl: new Uri("https://www.googleapis.com/plus/v1/people/me"),
            accessTokenUrl: new Uri("https://accounts.google.com/o/oauth2/token"),
            getUsernameAsync: null);
            auth.AllowCancel = false;

urls:

public static string GoogleAuthorize = "https://accounts.google.com/o/oauth2/auth";
public static string GoogleScope = "https://www.googleapis.com/auth/userinfo.email";
public static string GoogleRedirect = "https://www.googleapis.com/plus/v1/people/me";
public static string GoogleUserInfo = "https://www.googleapis.com/oauth2/v1/userinfo?access_token={0}";

在上面列出的代码中,您没有给出重定向 uri,而是给出了 google api 的范围。重定向uri的目的是在授权后接收来自google api的响应。响应应该是code。该响应代码用于访问access_token、refresh_token、id_token 等。因此,您必须在项目端接收此代码。为此,使用了重定向 uri。 转到您的谷歌控制台,创建项目,添加凭据,然后您将被重定向到包含以下内容的页面,

enter image description here

您可以找到授权的重定向网址。提供 url,然后使用新的重定向 url 配置您的代码。这之后一切都会好起来的。

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

Google OAuth Android 的重定向 url 的相关文章

随机推荐

  • Android:尝试在运行时更改 TextView 的宽度

    我有一个文本视图 我试图在运行时更改其大小 但尺寸不变 xml文件中的代码
  • 我可以将图像表单数据传递给 PHP 函数进行上传吗?

    我正在尝试使用 jquery 和 PHP 上传图像 如下所示 HTML
  • 为什么“ps”中没有出现“echo”?

    我很难理解 ps 命令上显示的内容 为了测试我的理解 我创建了下面的虚拟脚本 bin bash for i in 1 100000 do date u date u date u done 运行此脚本时 我打开了一个新终端并重复执行 ps
  • Ajax 响应:[readyState:0,responseText:“”,状态:0,statusText:“错误”]

    我的 ajax 调用导致错误 这是我可以在错误回调中获得的信息 readyState 0 responseText status 0 statusText error 这意味着什么 我究竟做错了什么 这是我的 ajax 调用 var aja
  • 使用where条件创建唯一索引

    现在我有下面的用户表 并且希望电子邮件列在 id 有前缀时唯一auth0 column id text email text not null 所以我尝试了这个CREATE UNIQUE INDEX陈述 CREATE UNIQUE INDE
  • 如何使图像适合框架,保持纵横比并在缩略图列表中居中

    我想将列表缩略图框显示为数据网格 每个缩略图必须放置在具有特定宽度和高度的框架中 为了一致性 如下所示 div class frame img src img1 jpg div div class frame img src img2 jp
  • PHP 中如何将数组元素转换为字符串?

    如果我有一个包含对象的数组 a array objA objB 每个对象都有一个 toString method 如何将所有数组元素转换为字符串 以便数组 a除了它们的字符串表示之外不再包含任何对象 是否有单行或我必须手动循环数组 一行 a
  • Golang 写入输入并从终端进程获取输出

    我有一个关于如何从终端子进程 例如 ssh 发送输入和接收输出的问题 python 中的一个例子是这样的 如何为子进程提供密码并同时获取标准输出 我在 Golang 中找不到与上述工作方式类似的简单示例 在 Golang 中 我想做这样的事
  • Delphi 10.3.3 未能通过 macOS 公证

    我的程序在Delphi 10 3 2中经过公证 但在10 3 3中失败 PAClient 退出并显示代码 1 是否有日志可以帮助我诊断问题 如果是这样 我该如何找到它 这是之后的整个错误 Connecting to 192 168 1 23
  • 为什么 int[] 上的 Arrays.asList 返回 List,而不是 List

    考虑这段代码 int tcc 1 2 3 ArrayList
  • Javascript 设置打印样式表

    如何修改打印样式表对象的样式 我正在使用 jQuery 如果这有帮助的话 我基本上想设置一个对象的 css 属性 但该属性仅适用于打印 而不适用于屏幕 例如 myobject css background white print 这个问题有
  • 如何使用timeit模块

    我该如何使用timeit比较我自己的功能的性能 例如 insertion sort and tim sort 如果你想使用timeit在交互式 Python 会话中 有两个方便的选项 Use the IPython壳 其特点是方便 time
  • 从轮廓中删除图例

    这是从R获得的图片 代码如下 我想将其导出为 PDF 格式 不过 我想首先删除右侧的图例栏 据我所知 没有可选参数来控制这个条形图例 你会怎么做 library gplots f lt function x y theta num lt x
  • SimpleDateFormat 抛出 ParseException 错误偏移量为 0

    下面的代码有什么问题 它抛出一个 ParseException 错误偏移量为 0 final DateFormat df new SimpleDateFormat EEE MMM dd HH mm ss yyyy df parse Thu
  • PrimeFaces p:editor 基于什么?

    我想向 PrimeFaces 添加一些客户端功能p editor 但由于某种原因 我无法发现他们用来构建组件的 JavaScript 客户端代码 有人能指点我吗 附 我想做的两件事是使组件可调整大小 PrimeFaces 不支持 并且我想添
  • 多态性和接口 - 澄清?

    迂腐的问题 根据维基百科多态性有 3 种类型 特设多态性 指的是可以应用于参数的多态函数 不同的类型 但根据类型的不同 其行为也不同 它们所适用的论点 换句话说 重载 function Add x y Integer Integer fun
  • 减去 Pandas 或 Pyspark Dataframe 中的连续列

    我想在 pandas 或 pyspark 数据框中执行以下操作 但我仍然没有找到解决方案 我想从数据框中的连续列中减去值 我所描述的操作如下图所示 请记住 输出数据帧的第一列不会有任何值 因为输入表中的第一列不能被其前一列减去 因为它不存在
  • 如何使用 gfortran-10 构建 MPICH?

    TL DR 如何使用 gfortran 10 gcc 10 和 g 10 构建 MPICH 背景 我想用 grortran 10 构建 MPICH以便能够使用最新的 MPI 绑定 但我还没能做到 尝试在 Ubuntu 上通过 apt 安装
  • 是否有相当于“az rest”的PowerShell?

    我最近发现了az rest命令 它允许我执行经过身份验证的 REST 命令 而不必担心获取令牌 https www codeisahighway com native azure rest api calls now available i
  • Google OAuth Android 的重定向 url

    从未真正使用过 OAuth 现在尝试实现它 我想从 google 和 facebook 获取访问令牌和配置文件数据 使用 Xamarin Auth 使用 Facebook 没有问题 我指定 http www facebook com con