🎃
Sign in with AppleをFlutterで実装する
flutterでSign in with Appleを実装したのでまとめておきます。
プラグインはapple_sign_inやsign_in_with_appleなどありますが、事前の手順が簡単なのでapple_sign_inがおすすめです。
Sign in with Appleを有効にする
Xcodeを起動して以下実施します。
-
Signing & Capabilities から +Capability をクリックします。
-
Sign in with Appleを追加します。
-
entitlements に Sign in with Apple の項目が追加されたことを確認します。
Firebase Authenticationを設定する
- Appleを有効にします。
Flutterの実装
Sign in処理
firebase_auth: ^0.18.3
apple_sign_in: ^0.1.0
flutter_auth_buttons: ^0.10.0
Future<AuthResult> _signInWithApple() async {
final result = await AppleSignIn.performRequests([
AppleIdRequest(
requestedScopes: [Scope.fullName],
requestedOperation: OpenIdOperation.operationLogin,
)
]);
// TODO: result.status を見てエラーハンドリング
const oAuthProvider = OAuthProvider(providerId: 'apple.com');
final credential = oAuthProvider.credential(
idToken: String.fromCharCodes(result.credential.identityToken),
accessToken: String.fromCharCodes(result.credential.authorizationCode),
);
return await FirebaseAuth.instance.signInWithCredential(credential);
}
Discussion