问题标签 [oauth2]
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.
python - 使用带有用户名和密码的 OAuth2
作为测试版的一部分,我已经获得了对某个服务的 REST API 访问权限。有人告诉我授权是通过 OAuth2 进行的。
我得到以下信息:
- ID
- 秘密
- 地点
我还在 Ruby 中获得了一个代码示例:
我试图用oauth2
包在python中实现这个相同的片段,但没有成功:
第二个响应包含以下内容:
我还尝试创建一个oauth2.Client
没有令牌的对象,并检查第一个响应是否为access_token
,但没有任何结果。
在这里进行身份验证的正确方法是什么?
c# - Windows 服务器上的 Youtube API v3 OAuth2 握手错误“连接失败”
我们希望结合 ASP.NET 4.5/C# 使用 Youtube v3 API 通过控制台应用程序将视频上传到特定的 youtube 频道。编译是在 Windows 7 专业开发机器上的 Visual Studio 2015 中完成的。
因此,我们在 Google Developer Console 中创建了 OAuth2 凭据,并使用以下代码进行 OAuth2 授权握手
到目前为止一切正常。如果之前没有授权,则会打开一个浏览器窗口(access_type=offline&response_type=code),我们可以在其中登录我们的 Youtube 帐户,选择一个频道,授予必要的访问权限,然后返回浏览器页面localhost:portnumber/authorize?code= XYZ写着“收到验证码。您可以关闭此窗口”,我们的控制台应用程序继续工作。这是我们开发机器上的工作流程。
但是,当我们将应用程序复制到 Windows Server 2012 时,会发生错误。浏览器窗口也会打开,我们可以登录并授予访问权限,但最终浏览器页面localhost:portnumber/authorize?code=XYZ无法加载浏览器特定的“连接失败”错误页面。
似乎没有进程附加到(随机?)端口号来读取接收到的代码信息、检索令牌并将其写入 %AppData%/Google.Apis.Auth。防火墙不会阻止任何东西。
我们的第一个猜测是名称解析问题。默认情况下,localhost 在 Windows 服务器上被解析为 ::1。不幸的是,当我们将 IPv4 分辨率强制为 127.0.0.1 时,它仍然不起作用
感谢您的每一个建议。
php - Yii2 和 OAuth2 插件 Filsh/yii2-oauth2-server:发送 POST 数据时未授权
编辑:已解决
显然,这个插件在缺少请求标头时遇到了一些问题。解决方案是添加
到 .htaccess 文件以使 Authorizaion 变量可用,因为此问题报告说:
我目前正在使用 Yii2 并使用此 OAuth2 插件(Filsh/yii2-oauth2-server) 进行登录并使用来自移动 HTML5 应用程序的令牌。
我已经配置了所有内容,它正在检索令牌,但是当我尝试通过 POST 发送令牌时,它会引发错误。
我首先调用send()
以检索令牌。
然后,当我执行此操作时,调用createuser()
.
它返回
未经授权:您使用无效的凭据请求
当我改为 GET 时,它工作正常。
这是我的控制器,我已经在使用:
['class' => HttpBearerAuth::className()], ['class' => QueryParamAuth::className(), 'tokenParam' => 'accessToken'],
作为认证方法。
这是我的配置对象
这是 OauthUsers 类
我也改变createuser
了,但仍然收到 401。我不确定它是否通过findIdentityByAccessToken
(access_token 与 oauth 用户位于不同的表中,这就是我首先查询它的原因)。
有什么想法吗?
java - 如何将 Mobile Native 应用程序(作为客户端)与 OAuth2 集成
所有,请原谅我对 Mobile Native 应用程序的开发不熟悉。我在授权类型中实现了我自己的 OAuth2 服务器Authorization Code
。如何在Mobile Native App
IOS 或 Android 的任何客户端库中使用它?谢谢。
javascript - 关闭 Google OAuth2 的弹出窗口
我在弹出窗口中打开了用于 Gmail 的 oauth2,newWindow = window.open(...)
然后当用户完成填写并点击“允许”时,它会重定向到我的服务器,在那里检索和存储令牌。最后,服务器返回“错误”或“成功”,因此弹出窗口中只会包含它。现在在 Angular 方面,我正在运行它。
这有时有效,有时会失败。我还将此代码用于其他 Oauth 提供程序,例如 Dropbox。有时它可以工作,有时它不能。知道为什么吗?
python - 从 POST 请求中检索访问令牌并在 GET 请求中使用
我正在使用 requests 库发出 POST 请求以获取访问令牌。我的请求工作正常,但是,我不确定如何提取它然后在 GET 请求中使用它。
回报:
security - oAuth2 中间人攻击保护?
oAuth2 如何防止 MITM 攻击.. 我们如何从访问令牌中验证请求消息是否被操纵?发件人设备 ID 和 IP 是 oAuth2 访问令牌生成的一部分吗?
ruby-on-rails - 从 Office 365 返回的 OAuth2 令牌不包含 preffered_username 声明
oauth2 - oauth2中的具体算法
我需要使用 Oauth2 实现 SSO 系统。我了解 oauth2 中的步骤,但我不知道生成授权码或 access_token 的具体算法是什么,可能是哈希或其他东西。我在互联网上找不到
java - 如何在多租户环境中将 pac4j 用于 OAUTH2?
我想在 Java 应用程序中使用pac4j来创建 Tomcat 过滤器或 Tomcat 阀。过滤器或阀门必须支持使用标准 OAUTH2 授权代码流的 OpenID Connect。更好的是在j2e-pac4j之上构建来执行此操作,但我不能在 j2e-pac4j 中使用 OAUTH2 过滤器。我的过滤器或阀门需要通过添加 HTTP 标头来修改请求对象。过滤器/阀门后面的网络应用程序需要 HTTP 标头,它是第三方的,所以我无法更改它。
我将使用 Open ID Connect 以便获取 JWT,但除了使用 JWT 及其内容以及可能是 Open ID Connect 的 userinfo 端点之外,我只是在做一个标准的 OAUTH2 流程。复杂之处在于:我将重定向到授权的服务器支持多个租户。这意味着我重定向到的 URL 将在 URL 中包含租户名称。这意味着,而不是像 URL
(请注意,?response_type=code&scope=openid&client_id=myclientname&state=nonce&redirect_uri=...
为清楚起见,请省略。)我将被要求重定向到以下 URL 之一:
您如何使用 pac4j 或更好的 j2e-pac4j 来做到这一点?我被告知 pac4j 将不支持这一点,每个客户端都可能使用不同的重定向 URL 进行授权。