问题标签 [custom-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 回答
502 浏览

firebase - Is it OK to use Firebase as user database for custom authentication?

We decided to use Firebase custom authentication because we need to login by either username or email, or phone number in the future. For this we will write our own auth server (in nodejs) that will use Firebase as its backend for storing users with hashed passwords. Is this approach OK?

0 投票
2 回答
2389 浏览

django - django 自定义用户模型组和权限

我正在尝试在我的 django 应用程序中实现自定义用户模型。

如果我只是复制并粘贴本文中的代码,效果很好。但我希望这个自定义用户模型具有权限和组。所以我将此继承添加到models.py

并将这些字段放入admin.py MyUserAdmin(UserAdmin) 类中:

但这对我来说看起来很奇怪:

管理员截图

据我所知,它必须是两个容器:左边(我有)显示所有可用的组和权限,右边(我没有)显示所有当前用户的组和权限。

PS我尝试了谷歌并在reddit上找到了一个10个月大但没有解决方案的帖子。

0 投票
1 回答
1157 浏览

c# - 如何在 asp.net mvc 身份上设置自定义身份验证?

我需要的?! 我有一个 ASP.NET 身份系统设置并使用外部登录名运行。无论出于何种原因,我都需要在 ASP.NET 身份验证之后设置自定义身份验证。让我解释一下如何?假设我有三个页面供用户在我的应用程序上查看,页面 A、B、C。 谁可以查看页面 A? 任何匿名用户都可以查看页面 A。 谁可以查看页面 A 和 B? 任何使用他/她的电子邮件和密码或外部登录创建帐户的用户。 谁可以查看页面 A、B 和 C?

这是我要设置自定义身份验证的地方。任何使用他/她的电子邮件帐户或外部登录创建帐户并拥有有效序列号的用户。 序列号? 我在 ASP.NET 标识中设置了一个类,如下所示:

正如您在上面的类中看到的,我在类中设置了三个属性。字段 ID 用于序列号,序列号是由管理员输入的 14 个字母数字字母,您可以看到它是一个不允许为空的隐藏字段。SerialConfirmed 字段也是一个 14 个字母数字字母,用户将输入这些字母进行身份验证,以便在应用程序中执行某些特定任务。整个概念是,应该推送登录用户进行第二种身份验证,即身份验证与序列号。

我非常需要帮助,在线搜索并没有太大帮助。如果您需要更多信息或尚不清楚,请随时问我。问候编辑:我首先使用 EF 代码。多斯达

0 投票
1 回答
951 浏览

python - 自定义 django auth 后端未使用基本登录视图记录用户

我正在编写一个自定义 django auth 后端,它将仅包含用户名和密码信息的发布请求发送到服务器,如果登录名/密码对正确,服务器会回复一些有关用户的数据(否则为 403 响应)

代码工作正常,如果用户不存在,则创建用户,然后返回用户(制作的单元测试正在通过)。但是,默认登录视图不会让用户登录。
这是后端的代码:

并调用登录视图(自定义表单只是在表单上有占位符):

我花了相当多的时间来追踪用户未登录的原因,但没有任何成功。
有没有人在这个问题上启发我?谢谢 !

0 投票
2 回答
481 浏览

python - 为什么 django 的默认身份验证后端在引发 UserModel.DoesNotExist 异常后调用 set_password?

我正在为从 django 中的 AbstractUser 继承的自定义用户模型编写自定义身份验证后端。我已经通过了 django 的默认身份验证后端,看到用户对象是使用带有UserModel._default_manager.get_by_natural_key(username)身份验证()的用户名获取的,如下所示

我已经编写了一个自定义的 aut 后端,但出于好奇,我问这个问题,为什么在出现 DoesNotExist 异常时检查密码?

我已经尝试ipdb过身份验证方法并验证了在获取不存在用户的用户名后,控制流会转到除块。并且UserModel().set_password(password)在终端发出了一个。由于不确定后台发生了什么,我检查set_password()auth.models. 但这只是提出了一个NotImplementedError例外。我不确定这有什么帮助。

另外如何raise a UserDoesNotExist or django.core.exceptions.ObjectDoesNotExist exception correctly在自定义身份验证后端中的用户模型上进行失败的对象获取操作?想法是停止执行并向用户提供正确的反馈消息,而不是引发异常并尝试在 settings.py 中的 AUTHENTICATION_BACKENDS() 中给出的下一个身份验证后端。

TIA

0 投票
2 回答
640 浏览

authentication - 自定义身份验证 AngularFire2 Ionic2

我将我的应用程序从 Ionic 1 更新到 Ionic 2。对于第一个应用程序(Ionic 1),我使用 AngularFire 和自定义身份验证(使用 Slim 框架)。使用 Ionic 2,我尝试对 AngularFire2(和 firebase 2.4.2)做同样的事情,但是当我对 firebase 进行身份验证时出现此错误。

代码(App.ts):

代码(Login.ts):

错误(在控制台中):

来自 firebase/php-jwt 的代码:

需要你的帮助。

0 投票
0 回答
80 浏览

php - 下一次请求后 Laravel 5.2 自定义身份验证失败

我编写了一个自定义用户提供程序来在外部服务器上的外部 API 中验证我的用户。

自定义用户提供者:

问题是用户如果登录正常,但在下一个请求中 Auth::user() 返回 false。中间件 Auth:user() 中的调试也返回 false。

0 投票
1 回答
1965 浏览

c# - 具有“外部”身份验证的 ASP.NET MVC 基于声明的用户

背景

我们的 Web 应用程序使用外部身份验证,从某种意义上说,用户的用户名/密码并未在本地验证,而是在中央单点登录类型网站的 Web 应用程序“外部”进行验证。身份验证证明(和用户身份)通过本地服务器变量(HTTP_EMPLOYEEID等)变得可用。但是,它不像针对 Google、Facebook 或其他基于 OAuth 的设置进行身份验证那样完全是外部的。所以我只是想做出这种区分,所以它不会与 ASP.NET Identity / Owin 中的术语“外部登录”冲突。

问题

我试图找出一种干净的方法来利用经过身份验证的用户数据(来自服务器变量)并将其传递给 ASP.NET 身份验证。但是,在用户可以登录到应用程序之前,必须根据 Web 服务查找用户配置文件和角色数据。

我想使用 Owin 和基于声明的身份,但我不确定是否也应该使用ASP.NET Identity,或者只是对声明进行更“纯”的实现。我喜欢不重新发明轮子的想法,但我也不想将方形钉子强行插入圆孔(俗话说),如果用户被识别和从 Web 服务查找的方式不适合一个典型的ASP.NET Identity用法。

例如,如果我采取更纯粹的方法,我可以这样做:

但我也知道我可以使用 ASP.NET Identity(只是没有实体框架的东西),只需实现 IUser、IUserStore、IRoleStore(以及其他任何最低要求),并使用 Microsoft 现有的、已建立的框架来处理这个问题。争论是,这更符合当前标准,并且可能更容易扩展到其他类型的身份验证(例如,如果本地用户名/密码或 Google/Facebook 最终成为其他允许的身份验证选项,除了当前的、基于 ServerVariables 的设置)。

以前走这条路的人有什么建议吗?我是否应该将服务器变量注入的数据视为自定义中间件并通过 ASP.NET Identity 来利用它,或者只是不担心在那个世界中适合它的位置,并采用如上所述的更“纯粹”的方法?

ps 我使用的是 ASP.NET 4.6.1,而不是新的 ASP.NET Core。

0 投票
0 回答
421 浏览

c# - AuthorizeCore 期间丢失 Cookie 和会话变量

我目前正在努力建立一个测试环境(目前称为 DEV)并且遇到了一些奇怪的问题。

当您第一次访问该站点时,我们有一个协议页面。点击“我同意”按钮将强制用户通过一个操作来检查他们是否已经是该站点的成员。我们也使用演示模式,但这不是问题的一部分。

我目前遇到的问题如下。最初在 Action 中,我们创建了一个名为“siteaccept”的 Cookie。创建后,我们确定站点是否处于演示模式,然后继续获取用户(实际用户或演示用户)。找到用户后,我们将他们的 ID 记录在名​​为“cntPOC”的 Cookie 中,并使用相同的数据创建一个具有相同名称的 Session 变量(原始开发人员编写了很多这种复杂的逻辑,我想在有人问为什么之前对其进行更改保留会话和 Cookie)。然后,我们对 Action 执行 RedirectToAction 以调出站点的主页。

这就是问题发挥作用的地方。站点 Action 的主页上有一个 CustomAuthorizeAttribute 装饰。在我们的 CustomAuthorizeAttribute 类中,我们有 OnAuthorizion 和 AuthorizeCore 被覆盖。OnAuthorizion 首先触发,但是,它使用 base.OnAuthorization。一旦被调用,AuthorizeCore 就会被调用。在 AuthorizeCore 中,我们检查“siteaccept”Cookie,然后检查“cntPOC”会话变量。如果两者都存在,则返回 true,否则返回 false。

不仅在我的本地环境中,而且在 DBA 的环境中,这都能顺利进行。我看到了我们的 Cookies 和 Session 变量。但是,在我们的 DEV 环境中,Cookies 和 Session 变量都丢失了。我们已将 IE 11 配置为允许 Cookie,但是一旦我们离开 Action 并继续进入 CustomAuthorizeAttribute,我们就无法获取它们。

我确实发现如果我检查 HttpContext.Current.Response 而不是 HttpContext.Current.Request,我今天可以找到 Cookie,但这显然是不正确的方法。

下面是我的代码。我相当肯定,因为代码适用于我的本地环境,它在我们的 DEV 环境中应该没问题。另请注意,我们的生产环境确实可以工作,因此代码显然可以正常工作。现在的问题是为什么 DEV 环境没有。

主控制器.cs

CustomAuthorizeAttribute.cs

我相当肯定代码没问题,但我确实读过一些文章,AuthorizeCore 有时可能有也可能没有 Cookies 和 Session 变量。我只是想知道我是否在浪费时间更改代码,或者它是否是我们拥有此网站的盒子。服务器被超级锁定,所以是的,有点烦人......

编辑:我还没有弄清楚如何解决这个问题,但是,我确实发现如果我对此代码进行发布,我可以正确进入该网站。我仍然无法运行 localhost 来检查该站点,但发布修复了一些关于该站点是否可以正常工作的小问题。

0 投票
0 回答
25 浏览

java - 调用适配器有没有办法在网络浏览器中设置或绕过?我的意思是当我尝试在浏览器中点击时绕过 wl_antiXSRFRealm?

我为 mobilefirst java 适配器创建了一个简单的自定义登录模块。

身份验证-config.xml

在 application-descriptor.xml 中定义了以下内容

我在 IBM 教程中给出的 CustomerAuthenticator 和 CustomerLoginModule 中验证硬编码的用户名和密码。

登录模块

Java 适配器代码

授权失败

当我尝试调试时,我得到了内部异常。

有很多缓存,即使在重新启动后,移动优先服务器仍在获取旧值。

有人可以帮忙吗?它是一种单向授权,为什么在两者之间调用 wl_antiXSRFRealm,我没有得到任何与此相关的参考。