首页 > 解决方案 > Google 助理 - 登录 Strava

问题描述

抱歉,如果这是一个新手问题,但我希望有人可以提供一些建议。

我正在通过 Express 应用程序实现我的 Google 助理意图。我希望我的操作的用户能够从他们的 Strava 帐户获取和修改数据。Strava 支持 Google 身份验证,我想知道是否可以使用 Passport ( https://www.npmjs.com/package/passport-strava-oauth2 ) 等节点库来允许用户登录他们的 strava 帐户,以便我的操作可以调用他们的数据?

我有一个受欢迎的意图,可以获取一些 Google 个人资料数据,所以想知道我是否可以通过此响应传递一些详细信息?

googleApp.intent('Default Welcome Intent', (conv) => { 
  conv.ask(new Permission({
    context: 'Hi, can I  get your details from your Google account?',
    permissions: 'NAME'
  }));  
});

标签: oauth-2.0actions-on-googlegoogle-oauth

解决方案


是的,但可能不是您正在查看的方式。

Permission助手请求访问特定类型的信息 - 名称和位置。您希望建立更多的身份关系(使用他们的电子邮件地址或 Google 帐户)。

您可以使用Account Linking来做到这一点。

如果您确定您在 Strava 端使用 Google 登录,那么事情会更容易,您可以利用Google 登录助手。这样,一旦他们登录,您的 Action 将获得一个身份令牌,您可以使用该身份令牌获取信息,包括他们的 Google ID 和与登录的 Google 帐户关联的电子邮件地址。他们只需要登录一次 - 之后,只要他们连接,您就会获得一个身份令牌。

如果您的 Strava 项目和您的 Action 都使用同一个 Google Cloud 项目,那么您的用户会更加轻松。一旦他们在任一客户端上登录,他们就会在另一个客户端上登录。因此,您将通过身份令牌立即知道他们是谁。


推荐阅读