https://github.com/mobilehero-archive/titanium-applesignin
⭐ Axway Amplify module that allows you to use the iOS 13+ Apple Sign In API with Appcelerator Titanium SDK
https://github.com/mobilehero-archive/titanium-applesignin
api-builder appcelerator appcelerator-titanium apple axway axway-sdk brenton-house ios native plugin signin titanium titanium-alloy titanium-mobile titanium-module titanium-sdk turbo
Last synced: 12 months ago
JSON representation
⭐ Axway Amplify module that allows you to use the iOS 13+ Apple Sign In API with Appcelerator Titanium SDK
- Host: GitHub
- URL: https://github.com/mobilehero-archive/titanium-applesignin
- Owner: mobilehero-archive
- License: other
- Created: 2019-08-08T21:09:23.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-04-11T17:53:43.000Z (about 4 years ago)
- Last Synced: 2025-04-23T19:49:22.601Z (about 1 year ago)
- Topics: api-builder, appcelerator, appcelerator-titanium, apple, axway, axway-sdk, brenton-house, ios, native, plugin, signin, titanium, titanium-alloy, titanium-mobile, titanium-module, titanium-sdk, turbo
- Language: Objective-C
- Homepage: https://brenton.house/saying-goodbye-to-axway-amplify-titanium-31a44f3671de
- Size: 2.75 MB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
README
[//]: # (header-start)
Preparing for end of Axway
👇 support for Amplify Cloud and Mobile 👇
🪦 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:
* [API Best Practices](https://brenton.house)
* [What is API Security?](https://brenton.house/what-is-api-security-5ca8117d4911)
* [OWASP Top 10 List for API Security](https://www.youtube.com/watch?v=GLVHDj0Cpg4)
* [What is API Security?](https://brenton.house/what-is-api-security-5ca8117d4911)
* [Top API Trends for 2022](https://brenton.house/top-10-api-integration-trends-for-2022-49b05f2ef299)
* [What is a Frankenstein API?](https://brenton.house/what-is-a-frankenstein-api-4d6e59fca6)
* [What is a Zombie API?](https://brenton.house/what-is-a-zombie-api-6e5427c39b6a)
* [API Developer Experience](https://brenton.house/keys-to-winning-with-an-awesome-api-developer-experience-62dd2fa668f4)
* [API Cybersecurity 101](https://brenton.house/what-is-api-security-5ca8117d4911)
* [YouTube API Videos](https://youtube.com/brentonhouse)
* [YouTube API Shorts Videos](https://youtube.com/apishorts)
[](https://www.youtube.com/watch?v=GLVHDj0Cpg4&list=PLsy9MwYlG1pew6sktCAIFD5tbrXy9HUQ7 "Click to watch on YouTube")
> [↑ Watch video on YouTube ↑](https://www.youtube.com/watch?v=GLVHDj0Cpg4&list=PLsy9MwYlG1pew6sktCAIFD5tbrXy9HUQ7)
[//]: # (header-end)
# @titanium/applesignin
[](https://www.npmjs.com/package/@titanium/applesignin)
[](https://dependabot.com)
> This is an experiment by [Brenton House](https://brenton.house) using open-source projects. You are welcome to try it out but be aware of the risks_
* [📝 Description](#-description)
* [🚀 Getting Started](#-getting-started)
* [Install `@titanium/applesignin` in root of project](#install-titaniumapplesignin-in-root-of-project)
* [Add entitlement to `tiapp.xml`](#add-entitlement-to-tiappxml)
* [Add to Apple Developer Account](#add-to-apple-developer-account)
* [✨Features](#features)
* [Requirements](#requirements)
* [Example](#example)
* [APIs](#apis)
* [Methods](#methods)
* [`createLoginButton()`](#createloginbutton)
* [`authorize({ scopes })`](#authorize-scopes-)
* [`getCredentialState(userId, callback)`](#getcredentialstateuserid-callback)
* [Events](#events)
* [`login`](#login)
* [License](#license)
* [Author](#author)
* [📚Learn More](#learn-more)
* [📣 Feedback](#-feedback)
* [©️ Legal](#️-legal)
## 📝 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](https://github.com/appcelerator-modules/titanium-apple-sign-in) to allow for installation via npm.
## 🚀 Getting Started
### Install `@titanium/applesignin` in root of project
```bash
npm install @titanium/applesignin
```
### Add entitlement to `tiapp.xml`
> Be sure the `` element goes **outside** of the `` element in your `tiapp.xml` file!
```xml
com.apple.developer.applesignin
Default
```
### 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`

4. Create a provisioning profile for that app id - https://developer.apple.com/account/resources/profiles/list
5. Download and install that provisioning profile
6. Make sure id of Titanium app matches App ID created: `YOUR.APP.ID`
## ✨Features
* [x] Includes Titanium native iOS module: `ti.applesignin 1.1.1`
## Requirements
The following project- and OS-requirements are necessary:
- [x] Xcode 11+
- [x] iOS 13+
- [x] Titanium SDK 8.0.0+
## Example
This module was designed to follow a similar scheme like Ti.Facebook and Ti.GoogleSignIn.
```js
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](https://github.com/appcelerator-modules/titanium-apple-sign-in) - Repo for original ti.applesignin module
## 📣 Feedback
Have an idea or a comment? [Join in the conversation here](https://github.com/brentonhouse/titanium-applesignin/issues)!
## ©️ 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.