如何在 Devise 中保存 Facebook UID?

发布于 2024-11-15 00:50:41 字数 359 浏览 1 评论 0原文

我正在使用 Devise,并且我拥有它,因此用户单击“使用 facebook 登录”。一旦他们确认这一点,就会将他们带到注册网址“http://0.0.0.0:3000/users/sign_up”

然后,我用从 Facebook 获得的姓名和电子邮件字段填充此处的姓名和电子邮件字段。他们现在只需选择一个密码即可注册。我还想保存用户的 Facebook UID 及其 Facebook 网址。

一旦用户单击注册按钮,如何将其传递到我的用户模型中? (我更新了我的模型以包含这些额外的字段)。

编辑:我目前还将他们的 Facebook 哈希数据存储在我从 Ominauth 获得的会话中,以便稍后检索。

I am using Devise and I have it so a User clicks "log in with facebook". Once they confirm this, it then takes them to the registration url "http://0.0.0.0:3000/users/sign_up".

In here I then populate the name and email fields with the ones I got from Facebook. They now just have to pick a password to sign up. I also want to save the user's Facebook UID and their Facebook url.

How do I pass this into my User model once the user clicks on the sign up button? (I updated my model to include these extra fields).

Edit: I currently also store their Facebook hash data in a session that I got from Ominauth so that I can retrieve it later.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

記柔刀 2024-11-22 00:50:42

使用 Omniauth 提供的身份验证哈希,您应该能够检索用户信息。

例如,哈希的结构类似于 this
您可以像这样提取用户信息:

facebook_uid = user_auth.uid
facebook_url = user.user_info.urls

Using the auth hash provided by Omniauth you should be able to retrieve the user information.

For example the hash has a structure that looks like this.
You can pull the user information like this:

facebook_uid = user_auth.uid
facebook_url = user.user_info.urls
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文