Skip to content

Latest commit

 

History

History
55 lines (39 loc) · 1.54 KB

README.md

File metadata and controls

55 lines (39 loc) · 1.54 KB

Sign In With Apple on React Native with ClojureScript

rn-cljs-apple-authentication is a library that adapts the React Native bindings to Sign In With Apple provided by @invertase/react-native-apple-authentication to a more fluent Clojure idiom.

Library Status

This is pre-release software that I am using as I develop an application that uses it, and will change frequently until release.

Installation

Add the following to your deps.edn:

io.joshmiller/rn-cljs-apple-authentication {:git/url "https:github.com/joshuamiller/rn-cljs-apple-authentication"
                                            :sha "current-sha"}

Install dependencies:

clj -m cljs.main --install-deps

Compile provided Cocoapods:

cd ios/
pod install
cd ..

Usage

In your application:

(ns my-app
  (:require [io.joshmiller.rn-cljs-apple-authentication.ui :as auth-ui]
            [io.joshmiller.rn-cljs-apple-authentication.core :as auth]))

,,,

[auth-ui/sign-in-with-apple-button
  {:button-type (:default auth-ui/button-types)
   :button-style (:default auth-ui/button-styles)
   :on-press auth/basic-login}]

The basic-login fn will return a core.async channel that will deliver either a user object or an error depending on the outcome of the sign in process. Note that it will always return an error in the simulator. You will likely want to adapt the code in basic-login to fit your application's flow.