Wondering what’s next for npm?Check out our public roadmap! »

    @titanium/applesignin

    1.0.2 • Public • Published

    @titanium/applesignin

    @titanium/applesignin Dependabot Status

    This is an experiment by Brenton House using open-source projects. You are welcome to try it out but be aware of the risks_


    📝 Description

    Native modules that allows you to use the iOS 13+ Apple Sign In API with Axway Titanium native mobile apps.

    This is a repackaging of the compiled iOS module for ti.applesignin to allow for installation via npm.

    🚀 Getting Started

    Install @titanium/applesignin in root of project

    npm install @titanium/applesignin

    Add entitlement to tiapp.xml

    Be sure the <entitlements> element goes outside of the <plist> element in your tiapp.xml file!

    <ti:app xmlns:ti="http://ti.appcelerator.org">
        <ios>
            <plist>
            </plist>
            <entitlements>
                <dict>
                    <key>com.apple.developer.applesignin</key>
                    <array>
                        <string>Default</string>
                    </array>
                </dict>
            </entitlements>
        </ios>
    </ti:app>

    Add to Apple Developer Account

    1. Go to your App Identifiers - https://developer.apple.com/account/resources/identifiers/list
    2. Create new identifier (or edit an existing one)
    3. Add capability by checking the box for Sign In with Apple

    Sign In with Apple

    1. Create a provisioning profile for that app id - https://developer.apple.com/account/resources/profiles/list
    2. Download and install that provisioning profile
    3. Make sure id of Titanium app matches App ID created: <id>YOUR.APP.ID</id>

    ✨Features

    • Includes Titanium native iOS module: ti.applesignin 1.1.1

    Requirements

    The following project- and OS-requirements are necessary:

    • Xcode 11+
    • iOS 13+
    • Titanium SDK 8.0.0+

    Example

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

    const AppleSignIn = require('@titanium/applesignin');
     
    AppleSignIn.addEventListener('login', function (event) {
      console.warn(`event: ${JSON.stringify(event, null, 2)}`);
      if (!event.success) {
        alert(event.error);
        return;
      }
    });
     
    const win = Ti.UI.createWindow({
      backgroundColor: '#fff'
    });
     
    const btn = AppleSignIn.createLoginButton({ width: 280, height: 38 });
     
    btn.addEventListener('click', function () {
      AppleSignIn.authorize();
    });
     
    win.add(btn);
    win.open();

    APIs

    Methods

    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.

    License

    MIT

    Author

    Hans Knöchel

    📚Learn More

    ti.applesignin GitHub Repo - Repo for original ti.applesignin module

    📣 Feedback

    Have an idea or a comment? Join in the conversation here!

    ©️ Legal

    Modules are licensed under Apache 2.0 from https://github.com/appcelerator-modules/titanium-applesignin

    Alloy is developed by Appcelerator and the community and is Copyright © 2012-Present by Appcelerator, Inc. All Rights Reserved.

    Alloy is made available under the Apache Public License, version 2. See their license file for more information.

    Appcelerator is a registered trademark of Appcelerator, Inc. Titanium is a registered trademark of Appcelerator, Inc. Please see the LEGAL information about using trademarks, privacy policy, terms of usage and other legal information at http://www.appcelerator.com/legal.

    Install

    npm i @titanium/applesignin

    DownloadsWeekly Downloads

    8

    Version

    1.0.2

    License

    Apache-2.0

    Unpacked Size

    621 kB

    Total Files

    20

    Last publish

    Collaborators

    • avatar