【问题标题】:actions on google home app not calling token exchange endpoint谷歌家庭应用程序上的操作不调用令牌交换端点
【发布时间】:2022-12-20 07:35:38
【问题描述】:

代币交换前一切正常。我发现 Google Home 显示“出了点问题,请重试”。好像账号绑定失败了。查了官方文档,也没找到哪里不对的地方。 [enter image description here](https://i.stack.imgur.com/8NzVp.png)

我们的 OAuth 服务器的日志: 14:30:09.322 [https-jsse-nio-9000-exec-10] 调试 o.s.s.w.FilterChainProxy - [doFilterInternal,218] - 保护 GET /oauth2/authorize?response_type=code&client_id=home-control-google&redirect_uri=https://oauth -redirect.googleusercontent.com/r/smarthome-63b16&state=AGsGMl0x-_cveABQcrOPo1I0RVk6fFwzA328sn87humHtmb_d33ppy7MtK0bnqRKJnKKocsJlIGBZyqUBfZnmskiIi5lFU4Kfus9gVFJeQAqyWoKOUwKUbKo5xl3ieM-ElcYYqMJJ0M4IJ5L171QldMLmeAoIJPlSoIgB4-cTx5NQoXYdcFgj4deBZ8p1GA1ucuT_UlTc72irf8GXlLg19geMnJ0W6-PE8cRlx0gN22Qj8AzsmXRRj_h0N6unvRIIfJI-7NaFdmVpYVQBuXzZYi-ajjcLLhiQYLSveVFnbSv-HS2P8mRuZvXhooPoqnj9j7yg0TPDaXPsS3myHb7G1Ka9UHIXHy6yQnEtboQQhLPfHzw204raLk4FzxzUqF4RGz7I8RZu8ExGopO0NkXk4xHn51oLJumyAs6FRJ6n38sYw43yWboa1q3KjAqiPs-2AxqHofL1Hzq-xmWKvKNx5D1i80toVi3nIQys_EPOje89qWH6cWgcuiJ2s4-l_ZIkuw0GK1YT61_dg9XSW2ACJ72agnY2k81vTZYJt1yuh_kGgg83_oqbjcsazr2x9gF_beVxOxq65H9xxYE0D8m2tiNJRaS5CUvygQLJjqCoOy1JozI0sgS9dy6warYk7mc9KPg27e5LagQmEYdghtG_5t5iluzNX4jag 14:30:09.353 [https-jsse-nio-9000-exec-10] 调试 o.s.s.w.c.HttpSessionSecurityContextRepository - [readSecurityContextFromSession,189] - 检索到 SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.Username =linesware,密码=[PROTECTED],启用=true,AccountNonExpired=true,credentialsNonExpired=true,AccountNonLocked=true,授权权限=[ROLE_USER],凭证=[PROTECTED],Authenticated=true,Details=WebAuthenticationDetails [RemoteIpAddress=58.56 .179.134, SessionId=E1CD90937DE27B197B6DA53D47FA0454], 授权权限=[ROLE_USER]]] 14:30:09.384 [https-jsse-nio-9000-exec-10] 调试 o.s.s.w.c.SecurityContextPersistenceFilter - [doFilter,109] - 将 SecurityContextHolder 设置为 SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.userdetails.User [用户名=linesware,密码=[PROTECTED],启用=true,AccountNonExpired=true,credentialsNonExpired=true,AccountNonLocked=true,授权权限=[ROLE_USER],凭证=[PROTECTED],Authenticated=true,Details=WebAuthenticationDetails [RemoteIpAddress =58.56.179.134,SessionId=E1CD90937DE27B197B6DA53D47FA0454],授权权限=[ROLE_USER]]] 14:30:11.556 [https-jsse-nio-9000-exec-10] 调试 o.s.s.w.DefaultRedirectStrategy - [sendRedirect,57] - 重定向至 https://oauth-redirect.googleusercontent.com/r/smarthome-63b16?code=O1h-RSPrRnKn45aWutuafiC3EkB_jVVJU-AJfRwdB177-xq1BIJ2fHbftdaMNHZ1Zv70YkKvtHkHZGKO5kAwoqYGmK0ATXAAnSYmyNg_cdQ5Q9V2YnVhs3RUkUr1lYtb&state=AGsGMl0x-_cveABQcrOPo1I0RVk6fFwzA328sn87humHtmb_d33ppy7MtK0bnqRKJnKKocsJlIGBZyqUBfZnmskiIi5lFU4Kfus9gVFJeQAqyWoKOUwKUbKo5xl3ieM-ElcYYqMJJ0M4IJ5L171QldMLmeAoIJPlSoIgB4-cTx5NQoXYdcFgj4deBZ8p1GA1ucuT_UlTc72irf8GXlLg19geMnJ0W6-PE8cRlx0gN22Qj8AzsmXRRj_h0N6unvRIIfJI-7NaFdmVpYVQBuXzZYi-ajjcLLhiQYLSveVFnbSv-HS2P8mRuZvXhooPoqnj9j7yg0TPDaXPsS3myHb7G1Ka9UHIXHy6yQnEtboQQhLPfHzw204raLk4FzxzUqF4RGz7I8RZu8ExGopO0NkXk4xHn51oLJumyAs6FRJ6n38sYw43yWboa1q3KjAqiPs-2AxqHofL1Hzq-xmWKvKNx5D1i80toVi3nIQys_EPOje89qWH6cWgcuiJ2s4-l_ZIkuw0GK1YT61_dg9XSW2ACJ72agnY2k81vTZYJt1yuh_kGgg83_oqbjcsazr2x9gF_beVxOxq65H9xxYE0D8m2tiNJRaS5CUvygQLJjqCoOy1JozI0sgS9dy6warYk7mc9KPg27e5LagQmEYdghtG_5t5iluzNX4jag 14:30:11.556 [https-jsse-nio-9000-exec-10] 调试 o.s.s.w.c.SecurityContextPersistenceFilter - [doFilter,120] - 清除 SecurityContextHolder 以完成请求

交换访问令牌的授权代码

【问题讨论】:

    标签: oauth-2.0 google-smart-home


    【解决方案1】:

    通过 Google Home 应用程序的帐户链接包括两个步骤:用户被发送到您的授权网址以提供凭据并完成同意流程。成功完成此过程后,您的服务器会收到一个令牌交换请求,其中包含令牌网址中的授权代码。为了调试此流程,您可能需要了解您的凭据交换是否成功完成。您可以通过 Account Linking Documentation 了解有关 Google Home 的更多信息。

    如果您在此步骤后仍有问题,请务必查看Troubleshooting流程。您还可以通过介绍性的 codelab 在一个全新的项目中尝试这些,该项目具有正常运行的 OAuth 2.0 实现,以与您的项目/实现进行比较。

    【讨论】:

      猜你喜欢
      • 2016-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多