Skip to content

mobilehero-archive/titanium-applesignin

Repository files navigation

👇   support for Amplify Cloud and Mobile   👇

RIP Axway Amplify Titanium (2010 - 2022)

🪦   RIP Axway Amplify Titanium (2010 - 2022)

🪦   RIP Axway Amplify Cloud Services (2012 - 2022)

🪦   RIP Axway Amplify Crash Analytics (2015 - 2022)


🛑    Axway support for Amplify products has ended for most products related to mobile and cloud.

A few of the open-source versions of Axway Amplify products will live on after Axway Amplify End-of-Life (EOL) announcements. However, all closed-source projects and most open-source projects are now dead.

 

👉    A group of Axway employees, ex-Axway employees, and some developers from Titanium community have created a legal org and now officially decide all matters related to future of these products.

 


API FAQ:

 

Click to watch on Youtube

  ↑ Watch video on YouTube ↑

 

 


 

 

@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.