问题标签 [apple-sign-in]
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.
ios - 如何从“使用 Apple 登录”验证 identityToken?
我正在尝试验证从“使用 Apple 登录”服务获得的身份令牌。
该文档说身份令牌是 JSON Web 令牌(JWT),但我得到的身份令牌格式如下:
此令牌不是 JWT 格式。我应该如何处理身份令牌以获取 JWT 格式?
php - 使用 Apple 登录 = invalid_client
我面临一个非常糟糕的问题,因为我阅读了很多指南和教程,但没有任何效果。
结果总是一样的:{"error":"invalid_client"}
我得到了代码、identityToken 和我需要的一切——除了对https://appleid.apple.com/auth/token的调用——因为 invalid_client。
这是我获取代码的网址。
所以我有默认的工作流程。在接受/登录后,我将被重定向到我的页面。
https://example.org/?code=a277243e2ec324fb09ba1c3333a8e6576.0.abcde.u4xiTDP2qHXoNEaxrcrIGx
(当我使用 JavaScript API 时,我会得到其他信息,如状态、代码和 id_token。我也已经用那里的“代码”试过了。)
回到主函数。
这是我对苹果的要求。
智威汤逊标题:
智威汤逊有效载荷:
回复:
世界无用的错误信息。
我不知道为什么客户端应该是无效的。
我在https://developer.apple.com/account/resources/authkeys/list中有一个密钥,下载的文件名为 AuthKey_1ABC2345DE.p8。(表示 1ABC2345DE 是我的密钥 ID)
然后我有一个标识符为“org.example”的本机 iOS 应用程序和一个标识符为“org.example.service”的服务。
它不能同时使用 id 和混合不同的东西。
没有。无效客户端。
任何人都可以帮助我吗?我在这里坐了几个小时,只得到了 invalid_client
我的测试页面:
和 PHP:
ios - 与 Apple 测试用户一起登录
我在哪里可以创建随机测试用户以测试“使用 Apple 登录”?为 Apple pay 创建的沙盒用户也不适用于此。
javascript - Apple Sign in Javascript :: 如何处理成功的登录回调(redirect_uri)
我能够通过启动范围/客户端 ID、重定向 URI 等将苹果登录注入网站
现在成功登录后,苹果使用发布响应将响应重定向到重定向 URI,请原谅我的无知!但是如何在我的网站上处理这个回调?我可以在 Apple 库本身中使用它吗?或者我需要建立自己的东西?当我在后端使用 RESTFul API 时,我期望获取令牌并将其传递给后端
我的页面是这样的
谢谢
ios - 如何验证 Sign in with Apple 的 access_token?
我看到了描述
您最多可以每天验证一次刷新令牌,以确认该设备上的用户 Apple ID 在 Apple 服务器上的信誉良好。
在https://developer.apple.com/documentation/signinwithapplerestapi/verifying_a_user。
我对描述有两个问题:
- 为什么我们要验证
refresh token
而不是access token
确认用户的 Apple ID 在 Apple 的服务器上仍然具有良好的信誉? - 文档说刷新令牌每天只能验证一次。但我可以在实践中多次验证刷新令牌。文档和实现之间是否存在冲突?
2019年10月17日更新:</p>
对于在其他系统上运行的应用程序,使用刷新令牌的定期成功验证来确定用户会话的生命周期。
我还在https://developer.apple.com/documentation/signinwithapplerestapi/verifying_a_user中看到了上面的描述。我认为periodic
也与once a day
.
现在,我存储 access_token 并为后续验证请求设置自定义过期时间。并从 iOS 客户端(getCridentialState)获取通知以删除 access_token。
ios - 使用 Apple 登录 - 第二次使用真实电子邮件注册时如何识别用户
我对文档以及与 Apple 签约时的变量描述中的内容有点困惑。假设我们有一个场景:
- 用户
Sign in with Apple
使用虚假/生成的电子邮件地址。 - 用户在我的应用中切换设备或使用不同的设备。
- 他正在做
Sign in with Apple
,但使用真实的电子邮件地址。
问题:如何知道这是我数据库中的同一个用户?
上面链接的文档表明user
in ASAuthorizationAppleIDCredential
object 是我正在寻找的答案:
var 用户:字符串
与经过身份验证的用户关联的标识符。
但 Xcode 也会在变量描述中显示这一点:
/** @abstract 与用于登录的 AppleID 关联的不透明用户 ID。此标识符将在“开发人员团队”中保持稳定,稍后可用作 @see ASAuthorizationRequest 的输入以请求用户联系信息。
只要用户与请求客户端连接,标识符就会保持稳定。当用户与身份提供者断开连接时,该值可能会发生变化。 */
打开 var 用户:字符串 { 获取 }
这实际上意味着Sign in with Apple
什么as long as the user is connected with the requesting client
。根据该描述,我不确定用户是否可以以某种方式取消注册或更改此值,或者这可能会在设备切换情况下发生?
到目前为止我尝试了什么...
我已经在设备和模拟器中进行了测试,并且user
在开发环境中的值保持不变,但不确定它是多么糟糕 IRL ...
google-cloud-functions - 使用 Apple Android 实施登录
我正在尝试使用 Firebase 函数来实现这一点。授权部分运行良好,我的端点被调用。仍然当我尝试点击令牌端点时,我总是得到{"error":"invalid_client"}
. 下面是我的带有测试密钥的 firebase 功能:
我的猜测是,不知何故,我没有正确签署 client_secret,因为每次我尝试在 jwt.io 上验证它时,它都说它的签名无效。
xcode - 禁用 iOS 固定
作为工作练习的一部分,我一直试图在未越狱的设备上使用 Frida 关闭应用程序上的 iOS 固定。我已经在线学习了多个教程,到目前为止,我只能在设备通过 USB 连接时执行此操作 - 并且项目通过 Xcode 运行。我的第一个问题是,我现在如何在同一设备上不使用 USB 和 Xcode 的情况下做到这一点?
我要做的下一件事是将 Frida 添加到我从另一个已发布应用程序获得的 IPA 文件中,重新签署 IPA 文件,然后看看它是如何工作的。不幸的是,我无法签署 IPA 文件,因为一旦我添加并签署 Frida 小工具并压缩 IPA,它就会返回以下错误:
我是一个非常新手的开发人员,并且很早就使用 Frida 这样的框架,所以非常感谢任何帮助。谢谢你。
ios - 如何在 iOS Objective-C 中集成“使用 Apple 登录”流程?
我想在我的 iOS 应用程序中集成“使用 Apple 登录”。我为此找到了许多代码示例,但都在 Swift 中,我需要 Objective-C。