tidev / titanium-apple-sign-in

Use the iOS 13+ Apple Sign In API with Titanium
MIT License
29 stars 11 forks source link
appcelerator apple-sign-in ios13 titanium titanium-module

iOS 13+ Apple Sign In in Titanium Build Status @titanium-sdk/ti.applesignin

Full support for iOS 13+ Apple Sign In with Titanium.

Requirements

The following project- and OS-requirements are necessary:

Example

This module was designed to follow a similar scheme like Ti.Facebook and Ti.GoogleSignIn.

var AppleSignIn = require('ti.applesignin');

AppleSignIn.addEventListener('login', function (event) {
  if (!event.success) {
    alert(event.error);
    return;
  }

  Ti.API.warn(event);
});

var win = Ti.UI.createWindow({
  backgroundColor: '#fff'
});

win.addEventListener('open', () => {
  AppleSignIn.checkExistingAccounts();
});

var btn = AppleSignIn.createLoginButton({ width: 280, height: 38 });

btn.addEventListener('click', function () {
  AppleSignIn.authorize();
});

win.add(btn);
win.open();

API's

Methods

checkExistingAccounts()

Checks for existing accounts (if available)

createLoginButton()

Creates a new localized login button.

authorize({ scopes })

Starts an authorization flow with an optional array of scoped. Defaults to all scopes (fullName and email).

getCredentialState(userId, callback)

Fetches the current credential state with a given user-id (received from the event.profile.userId key of the login event). The result is returned to the state parameter of the callback and can be authorized, revoked, transferred or unknown.

Events

login

The login event with the user's profile.

Installation

License

MIT

Author

Hans Knöchel