- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个 Shiny 的应用程序,该应用程序首先使用 OAuth 进行授权(请参阅 https://developers.google.com/identity/sign-in/web/sign-in ),然后获取 token 并使用 googlesheets4
访问 Google 表格。图书馆。登录过程正常工作,这意味着我可以看到我的电子邮件(以及来自 googleUser.getBasicProfile()
的其他数据。似乎没有返回 id_token
。最小示例:app.R
library(shiny)
library(shinyjs)
library(googlesheets4)
shinyApp(
ui = fluidPage(
useShinyjs(),
tags$head(tags$script(src="https://apis.google.com/js/platform.js")),
tags$meta(name = "google-signin-scope", content = "profile email"),
tags$meta(name = "google-signin-client_id", content = "<CLIENT_ID>.apps.googleusercontent.com"),
includeScript("signin.js"),
div(id = "signin", class = "g-signin2", "data-onsuccess" = "onSignIn"),
actionButton("signout", "Sign Out", onclick="signOut();", class="btn-danger"),
with(tags, dl(dt("Email"), dd(textOutput("g.email")),
dt("Token"), dd(textOutput("g.id_token"))
)),
tableOutput("df")
),
server = function(input, output) {
output$g.email = renderText({ input$g.email }) # here my email is printed in the app
output$g.id_token = renderText({ input$g.id_token}) # no id_token available?
output$df <- renderTable({
sheets_auth(token = input$g.id_token)
read_sheet("<GOOGLE_SHEET_ID>")
})
}
)
singin.js
function onSignIn(googleUser) {
var profile = googleUser.getBasicProfile();
Shiny.onInputChange("g.email", profile.getEmail());
var id_token = googleUser.getAuthResponse().id_token;
Shiny.onInputChange("g.id_token", id_token);
}
function signOut() {
var auth2 = gapi.auth2.getAuthInstance();
auth2.signOut();
Shiny.onInputChange("g.email", null);
Shiny.onInputChange("g.id_token", null);
}
id_token
并将其传递给
sheets_auth
功能?
最佳答案
在浏览器控制台中执行以下命令以验证它是否返回实际 token 。
console.log(JSON.stringify(gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse()));
{ "token_type":"Bearer", "login_hint":"<Huge mess of letters>", "expires_in":2112, "id_token":"<insert your ridiculously long string here>",...}
console.log(JSON.stringify(gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse(true)));
{ "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>", ...}
gapi.auth2.init({
client_id: <googleClientID>,
'scope': 'https://www.googleapis.com/auth/plus.login'
})
关于r - googleUser.getAuthResponse().id_token 不返回 Shiny 的 id_token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58882481/
我正在尝试创建一个 Shiny 的应用程序,该应用程序首先使用 OAuth 进行授权(请参阅 https://developers.google.com/identity/sign-in/web/si
我成功地将我的 Alexa 应用程序(客户端)链接到我们公司的 OpenID Connect 平台(授权服务器)。 我们的授权服务器向 Alexa 客户端返回以下信息: { "access_toke
我已经在java中成功实现了OpenID Connect。仅剩余部分经过验证 id_token。我已经使用 base64 解码了 id_token 并获取了用户电子邮件和姓名。现在我想验证 id_to
我正在实现“使用 PayPal 登录”功能。应该相当简单,但不幸的是 PayPal 缺少文档(只描述了一些基本的东西)。 我使用“使用 PayPal 登录”小部件获取 authorization_co
我想注册一个守护程序应用程序并为其授予 Microsoft graph API 的应用程序权限。现在,我将从我的客户端将 client_id 和 key 传递到端点,然后进行如下调用app.acqui
我想注册一个守护程序应用程序并为其授予 Microsoft graph API 的应用程序权限。现在,我将从我的客户端将 client_id 和 key 传递到端点,然后进行如下调用app.acqui
使用 Google OAuth2 API 时,我收到不一致的回复参数。 范围:['电子邮件','个人资料'] 预期响应: { access_token: 'ya29.fQB...aYSwXTK7E
使用 response_type=code 对支持 OpenID 的 OAuth2 授权服务器进行身份验证后与 scope=openid email ,调用 token 端点应返回 id_token
var login = function () { var deferred = $q.defer(); gapi.auth.authorize({
我正在使用 IdentityServer4,我想将计算字段添加到 access_token/id_token。 此类字段的示例可以是用户的 IP(或 token 绑定(bind)哈希), token
我们正在开发一个 Multi-Tenancy Web 应用程序。我们的租户将使用 Windows Azure Active Directory 进行身份验证。我们正在使用 OWIN OpenIdCon
我关注了以下博客 post实现苹果登录。它是很久以前写的,当时没有带有用户信息的 id_token。当我请求 token API 时,我收到包含多个字段的 JSON。问题是如何解码 id_token
引用 JWT(id_token) decoding docs 后 我很困惑主要服务提供商是否会遵循相同的技术...... 微软oauth2.0客户端在git project getUserEmailF
我在 Azure AD 中注册了一个应用程序。 如果我在 Web API 级别和客户端(SPA 应用程序)级别使用相同的应用程序 ID,为什么两个 Azure AD 身份验证库都这样做 (ADAL J
我正在使用从 Microsoft 到客户端的 jwt token 来验证从它到 Web API(服务器)的请求。我可以控制客户端 (js) 和服务器 (Python) 的代码。 在客户端,我使用以下请
我已成功通过我的 Angular 应用程序中的 Azure AD ( https://login.microsoftonline.com/ {tenantId}/oauth2/v2.0/authori
引用 JWT(id_token) decoding docs 后 我很困惑主要服务提供商是否会遵循相同的技术...... 微软oauth2.0客户端在git project getUserEmailF
我在 Azure AD 中注册了一个应用程序。 如果我在 Web API 级别和客户端(SPA 应用程序)级别使用相同的应用程序 ID,为什么两个 Azure AD 身份验证库都这样做 (ADAL J
我正在使用从 Microsoft 到客户端的 jwt token 来验证从它到 Web API(服务器)的请求。我可以控制客户端 (js) 和服务器 (Python) 的代码。 在客户端,我使用以下请
我目前正在实现 Google OpenID 以在我的网站上实现使用 google 登录。继tutorial given by google 。它强调只有 id_token 是发送到后端服务器的东西。由
我是一名优秀的程序员,十分优秀!