问题标签 [authenticator]
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.
android - 为什么 Retrofit Authenticator 不刷新令牌?
我正在使用 Retrofit 、 Dagger 等构建应用程序并使用 Authenticator 刷新令牌。我已将令牌到期时间设置为 1 分钟,只是为了查看是否触发了身份验证器,而事实并非如此。
下面是我的 Authenticator 实现
这里的Service holder是对webservices实现类的引用
任何想法我做错了什么?
java - Java - 如何使用凭据设置 socks 代理
嗨亲爱的社区成员,我是初学者,我正在尝试使用凭据设置 socks 代理,因此我使用了以下代码。但它不起作用。
我收到错误
我什至尝试了以下代码,但它也不起作用。
我试图将它们结合起来,我尝试使用System.setProperty("socksProxyUser","aaa")
,System.setProperty("socksProxyPassword","aaa")
但我仍然遇到同样的错误。谁能帮帮我吗。
提前致谢
python - Jupyterhub 自定义身份验证器
我有点坚持为 jupyterhub 编写自定义身份验证器。很可能是因为我不了解可用REMOTE_USER 身份验证器的内部工作原理。我不确定它是否适用于我的情况......无论如何......这就是我想做的:
我的总体想法:我有一个服务器,可以通过用户的机构登录来验证用户。登录机构服务器/网站后,用户的数据被编码——只有一些细节来识别用户。然后通过以下方式将它们重定向到 jupyterhub 域
https://<mydomain>/hub/login?data=<here go the encrypted data>
现在,如果像这样向我的 jupyterhub 域发送请求,我想解密提交的数据,并对用户进行身份验证。
我的试验: 我用下面的代码试了一下。但似乎我太笨了......:D所以请,欢迎迂腐评论:D
我的第一个问题...单击登录页面上的按钮,不会将我重定向到我的身份验证 URL...似乎authenticator_login_url
登录模板中的变量设置在其他地方...
第二个问题...向 .../hub/login?data=... 发出的请求未由身份验证器评估(似乎...)
所以:有人对我有什么建议吗?
如您所见,我在这里遵循了教程: https ://universe-docs.readthedocs.io/en/latest/authenticators.html
azure-active-directory - 我是否应该明确不使用标准 URL 和 MSAL 身份验证?
所有 MSAL 文档都希望我使用前缀,例如msalGUID:///
在向本地设备进行身份验证时。
然后是MSAL 门户urn:ietf:wg:oauth:2.0:oob
中默认显示的古怪 url。
由于我列出的每个 URL 本质上都有一个进入我的应用程序的后门,因此我想了解每个选项的安全优势。
- 为什么我应该使用记录在案的
msalGUID://
方案? - 我不应该使用 iOS 通用链接/完全限定 URL 吗?
urn:ietf:wg:oauth:2.0:oob
和有什么好处https://login.live.com/oauth20_desktop.srf
?- 我应该注意与 Microsoft Authenticator 的 wrt 交互,这可能取决于此?
authentication - OkHttp Authenticator 有时不会调用多个 Retrofit 实例的身份验证
对于两个不同的 API,我有两个不同Retrofit
的实例。我也有两个不同OkHttp3
的客户端,但它们共享相同Authenticator
,因为两个 API 的身份验证令牌相同。
问题是,当令牌过期时,有时(但几乎总是)其中一个Retrofit
/OkHttpClient
对象不会在 HTTP 401 上调用Authenticator
'authenticate
方法。它会愉快地进行 API 调用,所有都将以 401 结束,并且身份验证器被完全忽略。在这种情况下,当第二个Retrofit
进行 API 调用时,它将收到 401 并被authenticate
调用,令牌被刷新,一切恢复正常。包括第二个Retrofit
API,它以 401 失败所有调用。
更大的问题是这种行为是随机的,但失败的原因是超过一半的令牌过期。我们已经尝试了两个Retrofit
实例,一个共享OkHttp3
客户端,两个OkHttp3
客户端共享拦截器和验证器,最后还有非共享拦截器和验证器。即使在最后一种情况下,所有事物都有自己的实例,在某些 401 错误上也不会调用身份验证。
Interceptor
s 工作,他们将旧令牌注入标头,只是Authenticator
'authenticate
方法不会在每个 HTTP 401 错误上调用。
单步执行调试器时,这永远不会发生,并且始终会调用身份验证。这对我来说似乎是一个多线程问题。Android Studio 中禁用了即时运行。在装有 Android 6 的真实设备上运行。
编辑: OkHttp 3.10.0、Retrofit 2.4.0、android 编译 SDK 27 和构建工具 28.0.1
authentication - OkHttp Authenticator 有时不会在 HTTP 401 上调用身份验证
我有一个问题,在某些 HTTP 401 错误的情况下OkHttp
不会Authenticator
调用该方法。authenticate
拦截器总是被调用,但验证器有时被调用,有时不被调用。一旦它没有调用它,它将在几分钟内不会调用它,并且所有网络调用都将失败并显示 HTTP 401。然后在 5-6 分钟后它将“解开”并authenticate
再次调用该方法。
我用它来刷新令牌。如果令牌到期时间设置为一小时,则没有问题,但是当我们将到期时间设置为一分钟(用于测试)时,身份验证器将停止工作。
当在调试器中快速单步执行代码时,authenticate
方法被输入,但事件其第一行没有执行,它只是从方法中退出。我有一个日志作为未打印的第一行。我已经尝试过synchronised
访问和非同步。身份验证器是用 Kotlin 编写的。
这是另一个 SO question中描述的问题的延续。我发现它甚至不适用于Retrofit
具有一个客户端的一个实例OkHttp
,因此我创建了一个新问题。
OkHttp 3.10.0/3.11.0、Retrofit 2.4.0、android compile SDK 27 和 build tools 28.0.1 都会发生这种情况。在具有 Android 6 和 8.1 的真实设备上,调试和发布构建,所以看起来它没有
编辑:
经过更多调试后,我发现身份验证器与 OkHttp 3.9.1 + Retrofit 2.3.0 完美配合。任何更新的东西都不适用于频繁的 HTTP 401 错误。使用带有 Retrofit 2.3.0 的 OkHttp 3.10.0 或更新版本不起作用,并且带有 OkHttp 3.9.1 的 Retrofit 2.4.0 也不起作用。较新的 OkHttp+Retrofit 的其他组合也不起作用。
还有一个额外的信息是我使用 RxJava2 适配器用于 Retrofit 2 ( com.squareup.retrofit2:adapter-rxjava2
),总是与 Retrofit 库相同的版本。我正在使用 RxJava2 2.1.9,我刚刚尝试了最新的 2.2.2,除了旧的 OkHttp+Retrofit 组合外,仍然无法正常工作。
xamarin.forms - 为 Xamarin 表单添加身份验证器
有没有办法在 Xamarin 表单应用程序中实现 SSO。我已经完成了一些基础研究,并确定了两种方法来验证我的企业应用程序。
1.) 使用微软公司门户 intune。为此,我将创建一个新的示例应用程序,在 Azure AD 中注册它,在 Azure 中配置 InTunes,安装 Microsoft Authenticator,将 InTune nuget 包用于代码的 Xamarin 表单端。为此,我们是否有任何关于如何实现相同或某种头部方式的步骤,关于 InTune 中的应用程序注册和配置、应用程序的新 URI 配置、应用程序端的代码更改、为了调用 Authenticator、Xamarin 表单的代码片段而不适用于本机应用程序。
2.)利用服务经纪人。我找到了这个链接,它扩展了相同的内容,但无法获得任何 ADAL DLL 来实现相同的功能。
那么,我们是否有任何具体或推荐的方法来使用 Microsoft 身份验证器为 Xamarin Forms Apps 实现 SSO,很高兴了解更多信息。
提前致谢!!!..
csrf - 创建authenticator.token时出现Plone 5错误
我正在使用带有 python 脚本的 Plone 5 来更改目录。在此过程中,我收到了 CSRF 保护错误。在 Plone 文档中,我找到了以下解决方案:
执行此代码会导致:
什么地方出了错?
bluetooth-lowenergy - Authenticator 评估请求并通过 fidoStatus 特征发送通知来响应
我正在制作一个支持 CTAP BLE 与 WebAuthn 通信的移动身份验证器。我遵循此文档:https ://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-client-to-authenticator-protocol-v2.0-id-20180227.html#ble-protocol-overview
协议概述如下:
Authenticator 发布 FIDO 服务。
客户端扫描广告 FIDO 服务的身份验证器。
客户端对认证者进行特征发现。
如果尚未配对,客户端和验证器应执行 BLE 配对并创建 LTK。Authenticator 应仅允许来自先前绑定的客户端的连接,而无需用户干预。
客户端检查 fidoServiceRevisionBitfield 特征是否存在。如果是这样,客户端通过写入具有单个位集的值来选择支持的版本。
客户端读取 fidoControlPointLength 特征。
客户端注册有关 fidoStatus 特征的通知。
客户端将请求(例如注册请求)写入 fidoControlPoint 特征。
可选地,客户端向 fidoControlPoint 特征写入 CANCEL 命令以取消挂起的请求。
Authenticator 评估请求并通过 fidoStatus 特征发送通知来响应。
协议在以下任一情况下完成:
- 客户端取消注册有关 fidoStatus 特征的通知,或者:
- 连接超时并被身份验证器关闭。
在第 8 步,我收到这样的消息:0x83000700030000000000,我明白
0x83 是味精指令
0x0007 为数据长度
00030000000000 是数据
当我收到这样的消息时,我不知道如何响应 WebAuthn,因为第 10 步说“Authenticator 评估请求并通过通过 fidoStatus 特征发送通知来响应”。
ios - FIDO2 一致性工具 TypeError:无法读取未定义的属性“1”
我正在尝试开发一个 fido2 iOS BLE 身份验证器。截至目前,Can 能够宣传我的身份验证器并将其与 webauthn 客户端配对。在客户端验证我的广告数据后,它正在向“controlPoint”特征写入“authenticatorGetInfo(83000104)”请求。
根据 fido 规范,将以下响应发送到authenticatorGetInfo,
没有 cbor
{
3 = "EF6CF220-7066-4808-AA22-345C7888BC3F";
1 = ("FIDO_2_0");
}
使用 cbor 编码
[162、1、129、104、70、73、68、79、95、50、95、48、3、120、36、69、70、54、67、70、50、50、48、45、55 , 48, 54, 54, 45, 52, 56, 48, 56, 45, 65, 65, 50, 50, 45, 51, 52, 53, 67, 55, 56, 56, 56, 66, 67, 51 , 70]
发送响应后,收到 Fido2 一致性工具抛出的以下错误。我的问题是,CBOR 编码有什么问题吗?或者我在这里做错了什么?