gpt4 book ai didi

ios - 如何在 Ionic 3 应用程序中启用 "Sign in with Apple Id"

转载 作者:行者123 更新时间:2023-12-02 01:14:52 24 4
gpt4 key购买 nike

我有一个现有的 Ionic 3 应用程序,允许用户使用其 Facebook 或 Google 帐户登录。该应用程序与 ASP.NET Core 网站和 api 交互。我的理解是,在某些时候苹果会要求此类应用程序支持 "Sign in with Apple"

对于 Facebook 和 Google,有 cordova 插件(facebook4 和 googleplus),还有一些服务器端代码来处理 OAuth/OpenID Connect。我没有找到任何“使用 Apple 登录”的 cordova 插件。我找到了an article about how to implement the api/web side of this ,但是我对 Ionic 方面不太清楚。如何在基于 ionic 的 iOS 应用程序中启用“使用 Apple 登录”?是否不需要插件(即这一切都可以通过 JavaScript 或应用内浏览器完成)?我知道应用内浏览器被 Google 的身份验证页面阻止,并且似乎任何身份验证都首选更“ native ”的方法。

我知道这是新的,但如果苹果开始要求它,似乎更多的开发者会遇到这个问题。我是否误解了很快需要这样做?

最佳答案

您可以使用这个 ionic 包装器:https://www.npmjs.com/package/@ionic-native/sign-in-with-apple

安装插件和包装器:

ionic cordova plugin add cordova-plugin-sign-in-with-apple
npm i --save @ionic-native/sign-in-with-apple

导入:

import { SignInWithApple, AppleSignInResponse, AppleSignInErrorResponse, ASAuthorizationAppleIDRequest } from '@ionic-native/sign-in-with-apple';

使用示例(使用 firebase):

  async loginWithApple(): Promise<void> {
if (this.platform.is('cordova')) {
try {
const appleCredential: AppleSignInResponse = await SignInWithApple.signin({
requestedScopes: [
ASAuthorizationAppleIDRequest.ASAuthorizationScopeFullName,
ASAuthorizationAppleIDRequest.ASAuthorizationScopeEmail
]
});
const credential = new firebase.auth.OAuthProvider('apple.com').credential(
appleCredential.identityToken
);
this.afAuth.auth.signInWithCredential(credential)
.then((res) => {
console.log('Login successful', res);
})
.catch((error) => {
console.log(error);
});
} catch (error) {
console.log(error);
}
}
}

关于ios - 如何在 Ionic 3 应用程序中启用 "Sign in with Apple Id",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57825306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com