Latest Threat Research:Malicious dYdX Packages Published to npm and PyPI After Maintainer Compromise.Details
Socket
Book a DemoInstallSign in
Socket

@nativescript/apple-sign-in

Package Overview
Dependencies
Maintainers
2
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nativescript/apple-sign-in

Sign In With Apple

latest
Source
npmnpm
Version
2.0.0
Version published
Weekly downloads
457
26.94%
Maintainers
2
Weekly downloads
 
Created
Source

@nativescript/apple-sign-in

A plugin that allows you to authenticate users with Sign In with Apple.

Installation

npm install @nativescript/apple-sign-in

Requirements

  • Go to the Apple developer and create a new app identifier with the Sign In with Apple Capability enabled. Make sure you sign your app with a provisioning profile using that app identifier.

  • Add the Sign In with Apple Entitlement to App_Resources/iOS/app.entitlements.

Then add the Sign In with Apple Entitlement to App_Resources/iOS/app.entitlements as follows:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>com.apple.developer.applesignin</key>
	<array>
		<string>Default</string>
	</array>
</dict>
</plist>

Use @nativescript/apple-sign-in

Check if Sign In with Apple is supported

Sign In with Apple was added in iOS 13. So, to check if it is supported on the device, call the static isSupported() method on SignIn.

On iOS < 13 and on Android, isSupported() returns false.

import { SignIn } from "@nativescript/apple-sign-in";

const supported: boolean = SignIn.isSupported();

Sign In With Apple

If Sign In with Apple is supported on the device, you can present the user with that option to sign in.


SignIn.signIn(
    {
        scopes: ["EMAIL", "FULLNAME"]
    })
    .then((result: User) => {
        console.log("Signed in, user: " + result);
        console.log("Signed in, familyName: " + result.fullName.familyName);
        
        this.user = result.user;
    })
    .catch(err => console.log("Error signing in: " + err));

Get a user's sign in status

To get the current Sign In status of a user, call the getState() passing it the user id(User.user) obtained from signIn() method.

import { SignIn } from "@nativescript/apple-sign-in";

const user: string = User.user;

SignIn.getState(user)
    .then(state => console.log("Sign in state: " + state))
    .catch(err => console.log("Error getting sign in state: " + err));

API

isSupported

isSupported: boolean = SignIn.isSupported();

Checks if Sign In with Apple is supported on the device. Returns true for iOS 13+, and false for iOS < 13 and on Android.

signIn()

SignIn.signIn(
    options: SignInOptions

    )
    .then((result: User) => {
      // handle the signed-in user data
    })
    .catch(err =>{
        // handle error
    });

Signs in a user with the specified SignInOptions object.

getState()

SignIn.getState(userID:string)
    .then(state =>{
        // do something with user status
    })
    .catch(err =>{
        // handle error
    });

Gets the current sign-in status of the user.

SignInOptions

NameTypeDescription
userstringFor the description, visit user.
scopesSignInScopes[]Optional: By default, signIn() does not return any user's scopes. To return the scopes of interest, list them in the scopes array.
useOnceboolean
noncestringOptional: See nonce for more information.

SignInScopes

type SignInScopes = "EMAIL" | "FULL_NAME";

For more details, visit ASAuthorizationScope.

User object

The following are the properties of the User object returned by the signIn() method.

NameTypeDescription
noncestringOptional: See nonce for more information.
userstringAlways Provided
fullNameUserFullNameOptional
realUserStatusUserDetectionStatusOptional
authorizedScopesSignInScopesOptional
identityTokenstringOptional
emailstringOptional
identityTokenstringAlways Provided
statestringAlways Provided
authorizationCodestringOptional

For more details, visit ASAuthorizationAppleIDCredential.

UserFullName interface

NameTypeDescription
namePrefixstringOptional
givenNamestringOptional
middleNamestringOptional
familyNamestringOptional
nameSuffixstringOptional
nicknamestringOptional

For more details, visit NSPersonNameComponents.

CredentialState enum

enum CredentialState {
    Revoked = 'Revoked',
    Authorized = 'Authorized',
    NotFound = 'NotFound',
    Transferred = 'Transferred'
} 

For more details, visit ASAuthorizationAppleIDProviderCredentialState.

UserDetectionStatus enum

enum UserDetectionStatus {
    Unsupported = 'Unsupported',
    Unknown = 'Unknown',
    LikelyReal = 'LikelyReal'
}

For more details, visit ASUserDetectionStatus.

License

Apache License Version 2.0

Keywords

NativeScript

FAQs

Package last updated on 31 Jan 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts