如何在 Apple JS 中使用“使用 Apple 登录”
Posted
技术标签:
【中文标题】如何在 Apple JS 中使用“使用 Apple 登录”【英文标题】:How to use "Sign In with Apple" with Apple JS 【发布时间】:2019-10-19 22:13:18 【问题描述】:我会通过 Apple JS 在网络上使用“使用 Apple 登录”。代码示例可以在这里找到:https://developer.apple.com/documentation/signinwithapplejs/configuring_your_webpage_for_sign_in_with_apple
现在的问题是:什么是客户端 ID,我在哪里可以找到它。我在https://developer.apple.com/account/resources/identifiers/list 上测试了应用程序 ID 的标识符,并测试了服务 ID 的标识符。如果我点击按钮并在我的 Mac 上使用 Touch ID 进行验证,我会收到错误“AUTH_ALERT_SIGN_UP_NOT_COMPLETED”:
这是使用的代码:
<html>
<head>
</head>
<body>
<button id="sign-in-with-apple-button"> Sign In with Apple </button>
<script type="text/javascript" src="https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js"></script>
<script type="text/javascript">
AppleID.auth.init(
clientId : 'unknown',
scope : 'email',
redirectURI: 'https://mytld/test.php',
state : 'DE'
);
const buttonElement = document.getElementById('sign-in-with-apple-button');
buttonElement.addEventListener('click', () =>
AppleID.auth.signIn();
);
</script>
</body>
</html>
我没有收到关于 test.php 的请求。
【问题讨论】:
The developer’s client identifier, as provided by WWDR. You must obtain a client identifier from WWDR before you can use Sign In with Apple. 是的,但是我在哪里可以找到这个客户标识符?在文档中没有链接什么的。 State 不是特拉华州中的“DE”,而是可用于缓解 CSRF 的自定义“应用程序状态”。看看这篇文章:developer.okta.com/blog/2019/06/04/… 【参考方案1】:客户端 ID 是您的 Service ID 的“标识符”,它启用了“使用 Apple 登录”:
Apple 建议您在Register a Service ID screen 上将其设为以下格式:
我们建议使用反向域名样式字符串(即 com.domainname.appname)。它不能包含星号 (*)。
【讨论】:
那么没有开发者会员就无法实现“Sign In with Apple”吗? 正确 -- 如果没有 Apple Developer 会员资格,则无法启用 Sign In with Apple。 @Kaspars 您是如何配置 Sign In With Apple 部分的?那个医生在哪里。当我输入我的域名时,它只是告诉我它是无效的,并且说明很奇怪,因为它说要下载一些东西但没有下载链接。 只有 Apple 可以在 API 上调用 CLIENT ID 并在他们这边调用它的 Service Identifier。那是精神上的。以上是关于如何在 Apple JS 中使用“使用 Apple 登录”的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Xcode 在 iOS 中添加“使用 Apple 登录”功能
如何在 ionic 3 应用程序中添加“使用 Apple 登录”?
如何使用 Apple 自定义 UITabBarItem 图像?
如何在 iOS Objective-C 中集成“使用 Apple 登录”流程?