An open API service indexing awesome lists of open source software.

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

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 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)

 

[![Click to watch on Youtube](https://img.youtube.com/vi/GLVHDj0Cpg4/0.jpg)](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

[![@titanium/applesignin](https://img.shields.io/npm/v/@titanium/applesignin.png)](https://www.npmjs.com/package/@titanium/applesignin)
[![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=brentonhouse/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`

![Sign In with Apple](https://cdn.secure-api.org/images/sign-in-with-apple-capability.png)

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.