首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用与Auth0的帐户链接获得操作的身份验证提供程序?

如何使用与Auth0的帐户链接获得操作的身份验证提供程序?
EN

Stack Overflow用户
提问于 2018-05-31 05:28:05
回答 1查看 127关注 0票数 0

我有运行在Node v8.11.2下的Javascript应用程序,它使用了Actions-On-Google库。我正在使用V2应用编程接口。我已经设置了与Auth0的帐户链接,并且正在使用SignIn助手意图。Auth0被设置为使用谷歌,脸书和推特。

我使用的作用域是OPENID、OFFLINE_ACCESS、PROFILE和EMAIL。

一切正常,当用户通过身份验证时,我会得到一个返回的访问令牌。

我的问题是,如何获取用户选择的身份验证提供程序,以便正确使用访问令牌来检索配置文件元素,如显示名称、电子邮件地址等?

传递给登录确认意图处理程序的登录对象只包含以下内容,而不考虑所选的提供程序:-

代码语言:javascript
复制
{"@type":"type.googleapis.com/google.actions.v2.SignInValue","status":"OK"}

任何帮助都非常感谢,因为我有一个最后期限,这让我有点抓狂了!

谢谢,

肖恩

EN

回答 1

Stack Overflow用户

发布于 2018-05-31 17:28:04

如果您的问题是在accessToken可用时如何获取所需信息,那么您可以使用this answer中显示的内容。

在节点中,如下所示:

代码语言:javascript
复制
let link = "https://www.googleapis.com/oauth2/v1/userinfo?access_token="+accessToken;
    return new Promise(resolve => {
        request(link,(error, response, body) => {
            if (!error && response.statusCode === 200) {
                let data = JSON.parse(body);
                let name = data.given_name ? data.given_name : '';
                conv.ask(new SimpleResponse({
                    speech: "Hello "+ name + "!",
                    text: "Hello "+ name + "!"
                }));
                resolve();
            } else {
                console.log("Error in request promise: "+error);
                resolve();
            }
        })
    })

您需要的所有内容都应该在数据对象中。

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50613588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档