问题标签 [social-authentication]

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 投票
1 回答
109 浏览

cakephp - 找不到 Admad Social Auth 路由

我想在我使用 Admad-social-auth 插件的 cakephp 中将社交身份验证与登录和注册集成在一起。该插件在本地 wamp 上运行良好,但在服务器上出现错误。任何帮助将不胜感激。

https://puu.sh/DDXNf/d35d9cdbb8.png

0 投票
1 回答
22 浏览

django - 是否需要将社交访问令牌与社交身份验证中的社交电子邮件 ID 进行比较?

使用社交身份验证时,电子邮件 ID 会通过社交(Google、FB)帐户自动验证。

但我想为社交身份验证开发 api。移动开发人员正在使用 GOOGLE/FB SDK 并向我提供电子邮件。

问题:

是否需要社交访问令牌,因此将其与收到的电子邮件 ID 进行比较,然后如果从社交身份验证收到的社交访问令牌与电子邮件匹配,则处理数据?

0 投票
1 回答
115 浏览

authentication - 仅使用社交提供者登录身份验证时,客户端和服务器之间的身份验证策略应该是什么?

鉴于以下条件:

  1. 网站仅使用社交服务提供商来验证用户身份(Google/Facebook)。没有本机身份验证。
  2. 只有某些部分(例如产品评论)受到限制。
  3. 该网站与服务器(同一域)进行通信。

最好的身份验证策略是什么?


- 仅使用社交服务提供商

在这种情况下:

  1. 我们需要研究每个提供者的刷新/撤销令牌机制并实现它。

- 使用社交提供者来验证用户是真实的,但使用原生令牌

在这种情况下:

  1. 一旦用户是真实的,我们就会使用社交提供者进行验证。
  2. 我们生成自己的令牌并将其发送给客户端。

在我看来,第二种方法要好得多,因为:

  1. 无需研究如何根据每个社交提供者获取刷新令牌。
  2. 我们的服务器完全控制:过期时间控制。
  3. 撤销令牌也更容易(例如在我们自己的服务器中更改密码)。
  4. 错误处理更容易,因为从社交提供者刷新令牌时不需要处理错误情况,而是可以实现我们自己的错误处理。
  5. 如果用户关闭窗口,社交提供商刷新令牌将在几个小时内过期,而我们的令牌不会。
  6. 如果使用社交提供者令牌,那么它们将在每次请求时从客户端发送到服务器,这比我们自己的令牌具有更高的安全风险(google/facebook 中的用户敏感数据比我们网站中的要多得多)。此外,它们必须保存在客户端的某个位置以保持持久性,这将再次带来更高的安全风险。
  7. 社交提供者令牌不携带任何特定于我们服务器的用户信息。这意味着对我们的数据库进行更频繁的查询以识别用户,而不是仅仅将我们的用户 ID 放入令牌(可能是 JWT 令牌)。

对我来说最大的缺点是我们必须为每个社交提供者维护多个刷新/撤销机制,而不仅仅是一个(我们自己的)。

在这种情况下,最好的做法是什么会很有趣。

0 投票
1 回答
86 浏览

python - Django:向网站添加社交身份验证

我是 Django 的初学者,我正在从Antonio Mele 所写的“Django 2 by Example”一书中学习 Django。我正在尝试将社交身份验证添加到我的网站(书页编号 251){项目名称-书签,应用程序名称-帐户}。到目前为止,我已经安装了 Django 包

“social-auth-app-django”,

使用迁移将 python-social-auth 模型与数据库同步,并将“social_django”添加到我项目的 INSTALLED_APPS 设置中。然后我添加了

路径('social-auth/',包括('social_django.urls',命名空间='social')),

现在它告诉我编辑位于“C:\Windows\System32\Drivers\etc\hosts”的主机文件并添加我添加的“127.0.0.1 mysite.com”行。在此运行服务器“ http://example.com:8000/account/login/ ”之后应该给出错误,这里 example.com 实际上是 mysite.com

/account/login 处的 DisallowedHost:HTTP_HOST 标头无效:'mysite.com:8000'。您可能需要将 'mysite.com' 添加到 ALLOWED_HOSTS。

但我不知道为什么它没有显示,而是告诉我“无法访问此站点。mysite.com 拒绝连接。”

但它在 127.0.0.1:8000 处工作得非常好。请帮助我,我被卡住了。我已经在 google 上搜索过,并在 youtube 上观看过视频,但我仍然无法解决(生成)这个错误。

0 投票
2 回答
135 浏览

android - 使用 Firebase 调整 Google 和 Facebook 的官方登录按钮

我正在尝试通过Firebase 身份验证将 Google 和 Facebook 登录添加到我的应用程序中。
当我在 LinearLayout 中添加官方的 Google 和 Facebook 登录按钮时,它如下所示:

(Nexus 5X API 25):

在此处输入图像描述

甚至更糟,像这样(LG G7 ThinQ API 28):

在此处输入图像描述



目标
我的目标是让它们看起来像这样:

![在此处输入图像描述



到目前为止所做的事情:
我目前正在使用来自GooglesFacebooks Developer-Page的官方 xml 代码



所以我发现需要修复以下两个方面才能调整两个按钮:

1)两个Sign-In Button的长度不同

  • 这种差异与 Google 的登录按钮有一个小盒子阴影有关。
    因此,如果您将两个按钮都设置为固定宽度,Google 的可见登录将始终较小。

2)每个文本的位置

  • 在这里,我尝试调整 Facebook 按钮的文本,但似乎不起作用。





编辑:

我决定检查 Google 登录按钮的背景。
后台好像有以下规格:

在此处输入图像描述

所以我根据上面的值调整了 Facebook Button 并想出了:

现在按钮看起来像这样(没有红线)[Nexus 5X API25]:

在此处输入图像描述

我会非常高兴,但是当我用 [Nexus 5X API28] 看它们时,它看起来像这样: 在此处输入图像描述

我们如何解决这个问题?我感谢您的帮助!

0 投票
0 回答
201 浏览

java - 在没有 OpenID Connect 服务器的情况下使用 Jhipster 的社交登录

我用 jwt 生成了一个简单的 Jhipster 应用程序,我想使用社交登录,但我不想使用 OpenID Connect 服务器(Keycloak 或 Okta)。我只需要使用 Google/Github/ 等进行简单的社交登录。我该怎么做?

0 投票
1 回答
1277 浏览

django - 如何在 localhost 禁用 Enforce HTTPS for facebook auth?

我尝试在我的 Django 项目中通过 Facebook 配置社交身份验证。

当我在 localhost 进行测试时(已经包含基于 http 的站点ALLOWED_HOSTS),我需要禁用Enforce HTTPS

我的 fb 应用程序现在处于开发模式,但默认情况下Enforce HTTPS已启用并且显然无法更改。我该如何解决?

谢谢!

在此处输入图像描述

0 投票
1 回答
141 浏览

django - 向 Django 添加社交身份验证

我正在使用 Django 3.0.5 和 python 3.6。我想为我的博客添加社交身份验证。相关文件Settings.py、urls.py和login.html分别为:

设置.py:

网址.py:

登录.html:

在浏览器中,当我点击 Google+ 按钮时,我会从“ http://127.0.0.1:8000/login/”中获取网址“http://127.0.0.1:8000/oauth/login/google-oauth2/ 但是我应该得到“401 error as invalid_client - The OAuth client was not found”,因为从这个页面的 url,我得到了在谷歌开发者控制台上设置 django 应用程序时需要的 uri 的值。谁能帮助我如何获取此错误页面?任何帮助,将不胜感激。

0 投票
1 回答
93 浏览

c# - 如何将 Google、Facebook 等账号的社交登录插件插入到您现有的经典 asp.net 制作的身份验证系统中?

我正在寻找将社交登录以使用 Google/Facebook/Twitter 等帐户登录的方法整合到一个身份验证系统中,该系统集成了在多个不同平台上创建的 Web 应用程序。我想听听您对我目前考虑的计划是否合理的建设性反馈。

1. 目标系统说明。

我负责一个拥有一百万会员的网站系统的程序维护和身份验证系统的持续翻新。

该网站由具有多个不同开发平台的 10 多个不同的应用程序组成。集成这些应用程序的身份验证系统的核心是在 ASP.NET 4.0 中创建的,身份验证的基本部分是使用表单身份验证完成的,而不是 ASP.NET Identity。

本网站90%的会员是根据使用本网站服务的公司提供的会员信息创建的,10%的会员是通过自己注册成为会员而创建的。

2.命题

正如我首先提到的,我计划将社交登录合并到网站的身份验证系统中,允许用户使用他们的 Google/Facebook/Twitter 帐户登录。对于现有会员,在认证后进入网站后,他们将能够从专用页面设置社交登录。

3.问题

我想问问大家我是否有构建这个系统的正确想法。我的计划如下。

  1. 创建一个 Web 服务,将网站成员与任何社交网络帐户链接,并从 Web 应用程序端的成员主管理页面调用他们。
  2. 在ASP.NET Core中创建这个Web服务并使用Identity,将Scafolding创建的“\Identity\Identity\Manage\ExternalLogin.cshtml”复制到新页面,接受Post指令,并自定义使用时执行的方法. (方法的名称是“OnPostLinkLoginAsync”和“OnGetLinkLoginCallbackAsync”)。

关于使用 ASP.NET Core 标识

优势

  • 由于所有麻烦的 OAuth 通信都将被黑盒化,我可以预期编码将是最少的。
  • 即使未来SNS端的OAuth规范发生变化,预计Identity也会升级以应对变化,我们不需要修改自己的程序。

缺点。

  • 此 Web 服务的 Web 服务端仍将具有您实际不使用的身份功能,因此需要对普通成员保密。

4.最后

我确信有许多中型和大型 Web 系统的示例将社交登录功能嵌入到现有身份验证中。我很高兴能从那些经历过这种发展的人那里得到更好的方法和建议。

0 投票
1 回答
540 浏览

c# - Xamarin 表单 WebAuthenticator 使用

我正在尝试为 Xamarin Forms App 实现 Facebook Auth。我正在做本教程https://docs.microsoft.com/en-us/xamarin/essentials/web-authenticator?tabs=android中的所有操作,所以我使用的是服务器端身份验证。这是我的移动应用程序代码:

我也有一些后端代码。所有这一切都很好,我得到了访问令牌、用户 ID 等等。但我还有一些问题。

验证登录是否仍然有效的正确方法是什么?我应该如何授权应用操作?我该如何实现注销?

我将不胜感激建议或链接。