- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
UPDATE2:我重新审视了此问题,并通过仔细遵循以下链接的doco来解决了该问题。但是首先,对于那些为此而苦苦挣扎的人,您会处于很好的陪伴中。 Google的doco版本太多,令人困惑!您是否在HTML中包含platform.js或client.js?您是否加载gapi.auth或gapi.auth2?您是否使用gapi.auth2.render或gapi.auth.authorize或gapi.auth2.init,依此类推。
下面链接了返回access_token的方式(截至本文发稿)。通过使用platform.js仔细遵循指南和引用,我设法使此工作正常进行。然后使用gapi.load('drive',callback)动态加载其他库,例如client.js。
https://developers.google.com/identity/sign-in/web/listeners
https://developers.google.com/identity/sign-in/web/reference
====繁荣的原始问题====
更新1:
我已经更新了代码示例,以对googleUser对象进行递归搜索。至少这不应在后续库中中断。
下面是一个代码片段,用于处理以下问题:Google gapi.auth2.AuthResponse对象中的access_token不在顶层...在对象的深处隐藏了:(!
因此它是可检索的,但不是顶级的!我注意到这似乎是一个计时问题……一旦应用程序在随后的检查中运行了一段时间,它确实包含了顶层的访问 token !
var authResponse = _.googleUser.getAuthResponse();
_.id_token = authResponse.id_token; // Always exists
// access_token should also be a param of authResponse
if (authResponse.access_token) {
debug("Worked this time?");
_.access_token = authResponse.access_token;
} else {
// !!! Internal object access !!!
debug("Attempt to get access token from base object.");
_.access_token = _.objRecursiveSearch("access_token", _.googleUser);
if (_.access_token) {
debug("Access token wasn't on authResponse but was on the base object, WTF?");
} else {
debug("Unable to retrieve access token.");
return false;
}
}
_.objRecursiveSearch = function(_for, _in) {
var r;
for (var p in _in) {
if (p === _for) {
return _in[p];
}
if (typeof _in[p] === 'object') {
if ((r = _.objRecursiveSearch(_for, _in[p])) !== null) {
return r;
}
}
}
return null;
}
最佳答案
我知道这个问题已经很老了,但是当谷歌搜索“.getAuthResponse()没有access_token”时,它会首先出现,这就是我到达这里的方式。
因此,对于2016年(或以后)的那些人来说,这就是我发现的
在.getAuthResponse
上有一个 secret 参数,我发现的任何地方都没有记录。如果您要在应用中运行以下内容
console.log(gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse);
function (a){if(a)return this.hg;a=.HE;var c=.rf(this.hg);!a.Ph||a.dL||a.Lg||(delete c.access_token,delete c.scope);return c}
.getAuthResponse()
函数正在寻找一个参数,据我所知,它甚至没有检查它的值-它只是检查它是否存在,然后返回整个对象。没有该功能,其余代码将运行,我们可以很清楚地看到它正在删除两个键:
access_token
和
scope
。
console.log(JSON.stringify(gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse()));
console.log(JSON.stringify(gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse(true)));
{ "token_type":"Bearer", "login_hint":"
<Huge mess of letters>
", "expires_in":2112, "id_token":"<insert your ridiculously long string here>
",...}
{ "token_type":"Bearer", "access_token":"
<an actual access token goes here>
", "scope":"<whatever scopes you have authorized>
", "login_hint":"<another mess of letters>
", "expires_in":2112, "id_token":"<Insert your ridiculously long string here>
", ...}
关于google-api - GoogleUser.getAuthResponse()不包含access_token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34804016/
auth0版本:9.3.3 我正在开发一个使用 Google Identity API 的 Chrome 扩展程序。当我的扩展程序在用户已经获得 Google 授权的情况下加载时,因此通过以下方式再次
我正在尝试确定存储和访问使用 iOS 应用程序的访问 token 的最佳方式。 我正在熟悉核心数据,虽然这已证明对应用程序数据的某些部分有益,但我不确定核心数据是否最适合我需要的 token 。 大多
我正在尝试使用 Facebook 最近发布的新 Graph API,但我似乎无法让它正常工作。 我已经完成了这些步骤,在调用/authorize 之后,我收到了一个 access_token: acc
我刚刚对 Android Firebase 应用程序进行了渗透测试,测试人员在共享首选项中找到了一个文件 com.google.Firebase.auth.api.xml。它包含 access_tok
我正在使用 tymondesigns/jwt-auth在我的 Laravel 应用程序中打包以进行身份验证。我的 AuthController 看起来像这样: middleware('jwt',
如果有人正在寻找如何更改 FOSOAuthServerBundle 的 access_token 生命周期(expires_in),那么这里是如何做到的: fos_oauth_server:
所以,我在设置 IdentityServer4 时遇到了承载身份验证的问题。基本上,我无法调用我的 API 资源并收到 401 错误。当我使用 access_token 添加授权 header 时。我
我在我的应用程序中使用以下代码来检查是否提供了某些 header 。该代码在本地主机中工作正常,但在应用程序部署到服务器时则不然。基本上我想检查请求中是否存在 header 。在服务器上,我不断收到无
我有一个问题,我正在尝试使用从 获取的 token 在页面上发布 https://graph.facebook.com/oauth/access_token? client_id=YOUR_APP_I
一个小问题。目前我正在使用 Spotify Webapi,我想知道是否有一个 Web API 端点来检查 access_token 是否过期?目前我正在使用 GET https://api.spoti
美好的一天。 我正在尝试与 Facebook 集成。所以我需要用户使用 facebook 登录我的网站,然后我需要获取他们的信息,例如好友列表等。 我执行以下操作: @RequestMapping("
我正在为网络应用程序构建 SSO 设置。我可以通过 https://www.googleapis.com/oauth2/v1/userinfo 登录已知用户并创建新的未知用户. 我收到这样的回复: {
我遇到了以下问题: 我正在尝试将 Instagram 应用到我的网站中。但是,我停留在需要获取访问 token 的步骤上。 api 的文档说我需要像这样请求它: curl \-F 'client_id
我正在开发一个移动网络应用程序,它将访问 Google Books API 并允许用户将书籍添加到他们的“收藏夹”书架。这是我第一次使用需要谷歌授权的 API。 我需要发送授权请求来修改私有(priv
我在尝试为用户获取访问 token 时遇到此错误。这与 facebook 应用程序的授权过程有关。产生该异常的代码如下: OAuthClientRequest oAuthRequest = OAuth
我正在使用 Facebook 长期 token (2 个月),但 FB 开始变得不确定,有时会给我这个返回 { "error": { "message": "Cannot acces
在论坛/网络上搜索了几天之后,我仍然无法解决这个问题并使用 SCORE graph api { "error": { "message": "(#15) This method must be
我正在为一个事件建立一个小网站。这个想法是将 Facebook 事件的参加者添加到此网站。问题是主服务需要access_token。我不想让用户登录应用程序,我只想使用应用程序access_token
这是从 facebook-sdk 示例中获取 access_token 的一部分。在我得到代码之后,我完全按照下面的例子来做 if self.request.get("code"):
我正在使用 IdentityServer4,我想将计算字段添加到 access_token/id_token。 此类字段的示例可以是用户的 IP(或 token 绑定(bind)哈希), token
我是一名优秀的程序员,十分优秀!