问题标签 [account-linking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
297 浏览

ios - Google assistant: Account linking - OAuth authorization code flow on IOS

I have a question regarding the account linking, oauth authorization code flow on native IOS google assistant app. We have a very specific use case for the account linking. When the account linking is started and the google assistant app calls the authorization url, which is a deeplink to a native app (using firebase dynamic link for example), we want to handle authentication in our native app and afterwards redirect back to the google assistant app with the auth_code etc using a redirect on the redirect_uri (https://oauth-redirect.googleusercontent.com/r/...). So from the original call that opens a browser window we redirect to our native app on the device to do the authentication (using deeplink). Note: we save everything 'as is' when the original request is made on the auth url: client_id, response_type, state, redirect_uri. So we already checked that state etc is not modified and is as described in the documentation.

This flow is already working on Android devices however on IOS we are seeing different behavior. on IOS these steps work:

  • call the authorization url
  • intercept the url and open a native app using deeplinks
  • authenticate in our own native app

But in the last step something goes wrong:

On IOS this last step does happen, so we get redirected back to the Google Assistant app, however nothing happens and account linking is not successful. Note again this does work on Android.

Does somebody have experience with using a deeplink to your own native app to do the authentication for account-linking and redirecting back to the Google Assistant app? Or does somebody know what the Google Assistant app does in the background when it calls the Authorization url on IOS: does it listen on a specific browser window? Can you only redirect on the original browser window or is any browser window fine? That type of technical info would be much appreciated as it cannot be found in the documentation.

0 投票
1 回答
59 浏览

oauth-2.0 - 是否可以集成 2 个具有不同 OAuth2 授权类型的应用程序?

我试图将 AWS Alexa 与处理 OAuth2.0 但不同授权类型(密码和刷新)的后端应用程序(SugarCRM 9.0)链接,AWS Alexa 要求是授权代码授权类型或隐式授权类型。有没有办法绕过这个?

我不确定是否设置 AWS 管理活动目录以将 Sugar 的用户与 Alexa 集成,因为这将为可能简化的解决方案生成基础设施。我使用 AWS SSO 作为链接这些服务的方法,因为 AWS SSO 使您能够使集中管理对多个业务应用程序(但不是它们之间)的访问变得容易......

0 投票
1 回答
203 浏览

dialogflow-es - 在没有帐户链接的情况下检索用户的名字、姓氏和电子邮件

我已经使用 Google 登录和帐户链接实现了我的操作,但我意识到这可能没有必要,因为我只需要在对话期间检索用户电子邮件地址、姓名和姓氏,其唯一目的就是发送电子邮件,然后忘记它。

通过帐户链接,与我的代理交互的用户被要求“注册”一个可能会阻止用户继续进行的帐户。

我发现这个代理只是询问“为了获取您的电子邮件地址,我们可以访问您的谷歌帐户”... https://assistant.google.com/services/a/uid/000000f63f47d43d

怎样才能做到这一点?

谢谢,齐射

0 投票
0 回答
281 浏览

node.js - 在此环境中未启用请求的功能

我正在尝试访问我在 okta 中拥有的授权服务器,因此我可以从 alexa 技能中查看用户个人资料(在本例中为用户名和最喜欢的颜色),但不断收到错误消息。

我只想检索用户信息(以okta名称/颜色声明)。我已经在alexa中设置了帐户链接,因此可能有一种更简单的方法,因为已经配置了clientID和clientSecret。

错误信息

这是我必须在 okta 中启用的吗?我可以在 okta 开发人员控制台中使用免费层吗?

代码

0 投票
1 回答
180 浏览

ios - 我们无法使用 iOS 的 Google 助理应用程序进行帐户关联

我想用 Google Home 实现帐户与 Google 帐户的关联。意识到这一点后,我们的应用程序的帐户链接流程将遵循 此页面

它的页面显示了这一点。

  1. ...所以我们发回一条消息说他们需要访问我们的网站以授权我们访问他们的 Google 服务。我们可能会要求他们切换到移动设备来执行此部分,甚至包括登录页面的链接。

在这部分,我们使用GoogleHome 的丰富响应将认证链接发送到用户的移动设备。
例如,

我们可以使用 Android 操作系统进行帐户链接,但由于 403 错误,iOS 无法做到这一点。我们已经查明原因,它需要使用特定的浏览器才能看到谷歌认证页面。

如何进行帐户链接以避免此类问题?
或者您能告诉我另一种将帐户链接到 Google 帐户的方法吗?

请原谅我糟糕的英语。谢谢你。

0 投票
1 回答
234 浏览

oauth - Alexa 技能访问令牌不在会话中

对于已完成帐户链接的 Alexa Skill 用户 - 是一种accessToken在技能会话之外获取其帐户链接的方法吗?

例如,我知道作为会话外技能消息 API的一部分- 您可以这样做以获得skillMessagingToken

而不是使用范围alexa:skill_messaging,也许还有另一个范围值返回用户的帐户链接accessToken

0 投票
0 回答
332 浏览

dialogflow-es - 在访问 dialogflow webhook url 中提供的实现 URL 时,我在谷歌智能家居中遇到后端故障错误

在访问 dialogflow webhook url 中提供的实现 URL 时,我在谷歌智能家居中遇到后端故障错误

操作控制台帐户链接详细信息:

通过语音助手可以成功访问履行网址,但在链接应用程序时无法通过谷歌主页访问。还预建的智能家居操作选项在操作菜单中不可见

我参考了这个例子来构建智能家居应用程序:

https://github.com/shivasiddharth/google-actions-smarthome

在那个例子中,他们使用了伪造的访问令牌和身份验证 URL。

为了使用 google 登录概念,我添加了 google 帐户令牌网址: https ://accounts.google.com/o/oauth2/auth ,然后出现错误“Google 帐户错误”。(图 1)

在此处输入图像描述

并且还缺少帐户链接类型选项。但在这种情况下能够看到智能家居预建操作(图 2)

在此处输入图像描述

但后来我注意到帐户链接类型选项在使用 dialogflow api 启用后变得可见。然后“谷歌帐户错误”消失了。

在此处输入图像描述

在这种情况下,我在 dialogflow webhook 地址中提到了实现 url 以触发智能家居后端服务器功能。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
143 浏览

node.js - 如何在 Google Assistant actionSdk 中映射 storage.userId 和 idToken

  1. 嗨,我们创建了一个机器人,用户可以在其中与机器人交互。所以我们的机器人有两种类型的查询静态查询和动态查询。如果用户要求静态查询,我们不要求登录,但如果用户要求动态查询,我们要求用户登录并重定向到登录页面,而不是我们要求移动号码和 dob 并将 OTP 发送给用户,然后验证用户并发送回一个令牌作为响应,我们会收到进一步的请求。问题是假设用户来到我们的机器人并询问静态查询,所以我将用户的聊天存储到我的数据库最初我为用户创建一个 userId,例如 conv.user.storage.userId = 'unique_id' 并存储这个 unique_id在我的数据库中下次识别用户并发回。下次同一机器人获得相同的用户 ID 并继续更新我在数据库中的聊天以获取此用户 ID。现在问题来了,当用户询问动态查询而不是我必须将用户重定向到我们的帐户链接页面时。用户被重定向到帐户链接页面,用户填写他的手机号码。和 DOb,我们向 usermobile 发送 otp。当我们的 SendOtp api 被调用时,我创建了一个 userId 并存储在数据库中,但我想要我之前为静态查询 (conv.user.storeage.userId) 设置的 userId。我怎样才能得到这个ID。我们能否将此 userId 作为参数传递给何时请求登录 (conv.ask(new SignIn('To get your account details'))) 并在我的 SendOtp API 中获取此静态查询 userId。我需要相同的 ID 才能进一步发送以更新聊天。当我们的 SendOtp api 被调用时,我创建了一个 userId 并存储在数据库中,但我想要我之前为静态查询 (conv.user.storeage.userId) 设置的 userId。我怎样才能得到这个ID。我们能否将此 userId 作为参数传递给何时请求登录 (conv.ask(new SignIn('To get your account details'))) 并在我的 SendOtp API 中获取此静态查询 userId。我需要相同的 ID 才能进一步发送以更新聊天。当我们的 SendOtp api 被调用时,我创建了一个 userId 并存储在数据库中,但我想要我之前为静态查询 (conv.user.storeage.userId) 设置的 userId。我怎样才能得到这个ID。我们能否将此 userId 作为参数传递给何时请求登录 (conv.ask(new SignIn('To get your account details'))) 并在我的 SendOtp API 中获取此静态查询 userId。我需要相同的 ID 才能进一步发送以更新聊天。
0 投票
1 回答
258 浏览

actions-on-google - Google Action Builder 帐号关联

我正在使用全新的 Google Action Builder,但我遇到了帐户链接问题(OAuth 和 Google 登录和隐式流程):执行帐户链接后,Google 应该附加access_token到 conv 参数,但我没有找到它在任何 webhook 请求中。我确信帐户链接执行得很好,因为在设置中我看到了取消链接按钮,并且在我看到的每个请求中"accountLinkingStatus": "LINKED""verificationStatus": "VERIFIED". 我还在 oauthplayground 上测试了流程,并在流程结束时收到了一个 access_token。问题可能隐藏在哪里?

0 投票
1 回答
449 浏览

node.js - 谷歌帐户链接操作返回错误

我的 Dialogflow 代理已与 Google Assistant 集成,我正在尝试使用 Actions on Google 对其进行扩展。现在我们正在尝试将 Account 链接到我们客户的 Oauth 服务器。Auth URL、Redirect URI、Client secret 和 Client Id 由它们提供,并且在 Actions Console 中我的项目的帐户链接部分中配置了相同的配置,并带有授权代码流。使用相同的细节,我能够实现与我的 Alexa Skill 关联的帐户。我使用 Node.js 作为我的 webhook,同样使用actions-on-google包来处理意图。我从文档中获得了以下代码,将其添加到我的 webhook

每当我调用代理时,它都会要求我将帐户与 Google 链接(尽管我没有尝试使用 Google 登录)浏览器打开时使用我的客户端的 OAuth 授权端点,我提供了登录信息并返回到带有错误消息的 Google 助理应用程序

抱歉,出了点问题,所以我无法让你登录。不过你可以稍后再试

我尝试将变量登录输出到控制台,我可以看到以下错误

在 Google Assiatant App 中,我可以看到重定向 URI 参数为

我需要澄清以下几点

  1. 除了使用 Google 登录之外,我能否在 Actions on Google 中实现与其他 Oauth 服务器的帐户链接?
  2. 我在 Google 控制台上的代码或 Dialogflow 和 Actions 中是否缺少任何其他步骤?

非常感谢这里的帮助。如果提供的信息不充分,请告诉我。