问题标签 [appauth]

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 回答
1170 浏览

android - 我可以在 Google 控制台中创建多个客户端 ID 吗?

我有一个关于在 Google Developers 控制台中使用客户端 ID 的查询。

对于一个项目,有人创建了一个 clientId 用于使用 Google fit API 存储健身数据。而且我没有用于创建 Client-id 的帐户凭据。此外,我无法在代码中的任何地方找到客户端 ID。

现在我想使用“AppAuth for Android”添加 Google 登录。为此我需要添加clientId and redirectUri代码。

我的问题是,我可以clientId and redirectUri使用相同的 SHA1 指纹和包名称使用任何其他帐户创建新帐户吗?还是我必须使用相同的现有客户端 ID?(这似乎不是一种可能的方式)

编辑1:

正如@iainmcgin 提到的,我尝试使用相同的 SHA-1 和包名称创建一个,但出现以下错误。

The fingerprint that you specified is already being used by an Android OAuth2 client ID in this project or another project.

0 投票
1 回答
349 浏览

android - 无法创建用于 Android 的 AppAuth 库的 Android ClientID

我想在我的应用程序中使用AppAuth-Android进行 openID 登录。

我的问题是,无论我如何为 Android 创建客户端 ID,我都会继续收到 redirect_uri 400 错误。为 Android 添加客户端 ID 并不能清楚地显示 redirect_uri 是什么或需要是什么,当我只使用我的应用程序的包名称时,我最终会得到一个 redirect_uri_mismatch。

为 Android 添加客户端 ID 并不能清楚地显示 redirect_uri 是什么或需要什么

我浏览了 google 创建的codelabs 教程,一切看起来都很简单。

但是,既然我正在尝试在我的应用程序中设置所有内容,那么没有足够的详细信息来确切说明需要采取哪些步骤来创建适用于我的应用程序中的自定义方案的 client_id 和 redirect_uri。

这是一张幻灯片的图片,它假设我将能够正确创建一个 client_id: 准确描述我需要更多详细信息的步骤

我从谷歌找到了很多关于如何做的建议的文档,但没有一个包含足够的细节来让我解决这个问题,我已经花了太多时间来解决这个问题。我在这里找到的最有用的页面是OAuth2 for Mobile & Desktop部分

谁能提供在Google 的 API 凭据管理器中为我现有的 android 应用程序创建一个 client_id 的确切步骤,该应用程序能够以与上面引用的 codelabs 教程完全相同的方式工作?

0 投票
1 回答
1403 浏览

android - 使用 AppAuth 登录 Keycloak 时遇到问题

我正在尝试使用 AppAuth 示例应用程序在我的 OAuth2 服务器(Keycloak)上实现登录。我不确定在 .json 文件中要写什么,特别是在“authorization_endpoint_uri”、“token_endpoint_uri”和“registration_endpoint_uri”中。有人可以向我解释一下那些网址是什么吗?

到目前为止,这是我的配置文件。当我尝试登录时,它会出现我的管理员登录页面。

非常感谢!!;)

0 投票
0 回答
559 浏览

ios - AppAuth-iOS 使用 OpenID 2.0 和 Forgerock 失败

我正在尝试使用这个库(AppAuth-iOS)通过 Forgerock 使用 OpenID 身份验证 2.0 进行身份验证。

当我运行此示例应用程序时,选择“自动授权”我设法在 Forgerock 中对用户进行身份验证,但随后出现以下错误:

在此处输入图像描述

查看调试错误,它显示以下内容:

错误域=org.openid.appauth.general 代码=-4 \"(null)\"

这是它被调用的方法(信用:从我上面链接的应用程序示例代码中获取的方法):

关于这是客户端错误还是 Forgerock 端配置错误的任何想法?

0 投票
0 回答
566 浏览

java - 通过 OpenId 和 3rd Party OAuth2 Provider 使用 AppAuth 演示的 Android 应用程序 - 响应丢失

我正在 Android Studio 中使用 Java 创建一个 Android 应用程序,该应用程序需要使用 OAuth2 与 3rd-Party 提供程序(Furkot,移动方法)进行通信,以获得后续 API 调用的授权。

使用 Open Id 的 AppAuth 演示应用程序 ( https://github.com/openid/AppAuth-Android ) 成功演示应用程序:

  • 从 Furkot 服务器发送 TOKEN 的身份验证请求
  • 提示用户登录 Furkot
  • 提示用户允许对 Furkot 数据进行只读访问
  • 【Furkot 成功设置应用为允许应用】
  • 在参数化 URL 中的 redirect_uri 处接收带有 TOKEN 值的 RESPONSE
  • 在调试期间显示 RedirectUriReceiverActivity 中的完整 responseUri 值。

之间的某个地方

重定向UriReceiverActivity

TokenActivity.onStart() AuthorizationResponse 响应 = AuthorizationResponse.fromIntent(getIntent());

代码决定响应为 NULL 所以错误。

而且我无法弄清楚它在哪里可以进一步排除故障。调试并进入本节对我的大脑没有任何价值。

~~~~~~~ 警告:虽然我有 13 年以上的 C# .NET 应用程序开发经验,但这是我的第一个 Android 应用程序,也是第一次使用 Java。所以我游出了我的舒适区。~~~~~~~

如果有人有经验——特别是 Open Id AppAuth 演示应用程序——并且可以提供帮助,将不胜感激!

0 投票
1 回答
1398 浏览

android - Chrome 自定义标签不起作用

我正在使用 CodeLabs 的教程,并试图在第 8 步测试我的授权,我得到了一个日志信息06-13 14:15:42.053 3089-3089/com.google.codelabs.appauth I/AppAuth: Unable to bind custom tabs service,因此我无法查看这是否有效。任何有助于理解为什么会发生这种情况以及如何解决它的帮助将不胜感激。谢谢你。

0 投票
1 回答
4474 浏览

android - 具有 Web 视图的本机移动应用程序的 SSO 方法?

因此,本机移动应用程序(Android 和 iOS)的标准 SSO 方法似乎是通过 AppAuth 库的 OAUth2 + OpenID Connect。

这一切都很好——而且实际上似乎接近优雅。

但是,如果同一个应用程序包含需要使用相同 SSO 访问资源的嵌入式 Web 视图组件(在与本机代码相同的 Web 应用程序中的同一服务器上,所有资源都需要身份验证才能访问),该怎么办?

对于初学者来说,OAuth2 访问令牌(一旦获得)不会自动传播到 Web 应用程序中的超链接请求,对吧?那么,Web 应用程序页面本身是否真的必须使用 JavaScript 重新设计才能进行这种传播?移动应用程序可以重写请求来解决这个问题,但是:

  1. 至少在 Android 上,这只适用于 GET 请求(对吧?)
  2. 更关键的是,这假设 Web 应用程序不需要在普通浏览器客户端中运行

OAuth2 在这里不是正确的方法吗?如果是这样,那似乎是一种耻辱——因为 AppAuth 对于本机应用程序方面来说似乎相当不错。它只是将基本的 Web 视图浏览融合到真正把事情弄得一团糟的图片中。

还是只有一些事实上的标准 JavaScript 库可以与 Angular 等混合使用(然后需要使用 Angular 等)?

0 投票
1 回答
534 浏览

google-signin - 使用 AppAuth 和跨客户端身份进行 Google 登录

我正在使用AppAuth实现谷歌登录。该应用程序可以成功进行身份验证。但是我需要一个id_token服务器,以便我可以从我的应用程序与我的服务器通信。为此,我相信我需要包括audience:server:client_id:WEB_CLIENT_ID以下链接所示。

https://developers.google.com/identity/sign-in/android/v1/backend-auth

此处提供更多信息: https ://developers.google.com/identity/protocols/CrossClientAuth

如何使用应用程序中的 Web 客户端 ID 来获取 id_token,以便我可以使用该令牌可靠地与服务器通信?

0 投票
1 回答
288 浏览

ios - 使用适用于 iOS 和 Azure AD 的 AppAuth 的受众声明不正确

我正在开发一个 iOS 应用程序,它要求用户对 Azure AD(不是 B2C)进行身份验证,然后使用 JWT 令牌调用 WebAPI。

我正在使用 AppAuth 库:

接着

但问题是,我的 JWT 令牌的受众声明具有我的客户端的 AppID,而不是 WebAPI 的 AppID,即使我使用 WebAPI AppID 传递资源参数也是如此。

结果,我的 WebAPI 拒绝了 JWT 令牌,因为受众声明不正确。

我需要做什么才能让我的 JWT 令牌的受众声称是 WebAPI 的 AppID?

0 投票
1 回答
594 浏览

ios - AppAuth iOS 令牌交换问题 Azure AD

我使用 Azure AD 租户为 android 构建了一个 AppAuth 测试应用程序,它工作正常。现在我正在尝试与 iOS (Swift 4) 相同,并且在尝试交换访问代码以获取访问令牌时失败。没有返回错误,我确实得到了一个 idToken 但没有 accessToken 或 refreshToken。没有其他错误。不知道发生了什么。如果没有访问令牌,我无法查询图表。我正在使用 Azure AD v2。这是我的一些代码: