gpt4 book ai didi

node.js - 我可以使用 passport-google 回调来验证 android/ios 用户吗?

转载 作者:搜寻专家 更新时间:2023-10-31 23:41:39 26 4
gpt4 key购买 nike

我有一个使用 google-passport-oauth2 进行身份验证的 node.js 服务器。我的服务器端代码看起来像来自 the documentation 的代码:

app.get('/auth/google',
passport.authenticate('google', { scope:
[ 'https://www.googleapis.com/auth/plus.login',
, 'https://www.googleapis.com/auth/plus.profile.emails.read' ] }
));

app.get( '/auth/google/callback',
passport.authenticate( 'google', {
successRedirect: '/auth/google/success',
failureRedirect: '/auth/google/failure'
}));

我认为 /auth/google 重定向到 google 的登录,当收到权限时,google 配置文件和 token 被发送到回调 /auth/google/callback

现在我正在制作一个想要使用此 API 进行身份验证的 Android 应用程序。我正在使用 directions for integrating Google Sign-In在谷歌端进行身份验证。现在我的 android 应用程序有了配置文件和 token ,想要 verify it with my server .

我试过使用 passport-google-token 来做到这一点和 passport-google-id-token (不确定区别...),但无论出于何种原因,它都不起作用。现在我正在寻找其他可能性,比如用于 node.js 的 Google Client API 库,但它看起来很笨重。然后是 tokeninfo 端点,它涉及额外的请求和更多的延迟。或者我应该看看 express-jwt

突然之间,我想知道...我不能将 token 从我的 Android 应用程序传递到位于 auth/google/callback 的服务器吗?这会让事情变得简单一些。我认为这一定是白日梦,因为我还没有找到任何关于这样做的信息。但如果可能的话,我应该如何格式化请求中的 token /配置文件数据,以便 passport.authenticate() 方法识别它? (JSON、表单数据、标题)

如果无法做到这一点,我将采纳有关 Node 的文档齐全的 token 验证库的建议...

最佳答案

我仍然不知道如何重用 google-passport-oauth2 路由,但我确实弄清楚了如何使用 passport-google-id-token 验证 Google 的 idToken。

The documentation说:

The post request to this route should include a JSON object with the key id_token set to the one the client received from Google (e.g. after successful Google+ sign-in).

但它仅在作为查询字符串发送时有效(GET 或 POST 有效)。

https://localhost:8888/auth/googletoken?id_token=xxxxxxxxxx

我有a feeling这不是最安全的方法,但我稍后会处理它。

编辑:事实证明,如果没有客户端 ID(在您的应用程序中), token 将毫无用处,因此可以通过查询字符串发送它。

编辑 2:google-id-token 开发者之一 has reminded me只有安装了 body-parser 才会收到 JSON。

关于node.js - 我可以使用 passport-google 回调来验证 android/ios 用户吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35107090/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com