Giter VIP home page Giter VIP logo

authgear-sdk-xamarin's Introduction

Authgear banner

Authgear SDK for Xamarin

With Authgear SDK for Xamarim, you can easily integrate authentication features into your Xamarin apps. In most cases, it involves just a few lines of code to enable multiple authentication methods, such as social logins, passwordless, biometrics logins, one-time-password (OTP) with SMS/WhatsApp, and multi-factor authentication (MFA).

Quick links - ๐Ÿ“š Documentation ๐Ÿ Getting Started ๐Ÿ› ๏ธ Troubleshooting ๐Ÿ‘ฅ Contributing

What is Authgear?

Authgear is a highly adaptable identity-as-a-service (IDaaS) platform for web and mobile applications. Authgear makes user authentication easier and faster to implement by integrating it into various types of applications - from single-page web apps to mobile applications to API services.

Key Features

  • Zero trust authentication architecture with OpenID Connect (OIDC) standard.
  • Easy-to-use interfaces for user registration and login, including email, phone, username as login ID, and password, OTP, magic links, etc for authentication.
  • Support a wide range of identity providers, such as Google, Apple, and Azure Active Directory (AD).
  • Support biometric login on mobile, Passkeys, and Multi-Factor Authentication (MFA) such as SMS/email-based verification and authenticator apps with TOTP.

Documentation

View other Authgear Documentation at https://docs.authgear.com/

Getting Started

Follow the easy steps to start using it:

Build

Prerequisites

  • Xamarin workload (Android + iOS) in Visual Studio
  • Docfx (for doc generation)

Known Limitation

Build

The sample project can be built on both windows and macOS. The sample has a dependency on the library project, and building the sample would build the library automatically.

However, for packaging the library (e.g. in CICD), since the library project is using MSBuild.Sdk.Extras for its single project, multi-targeting feature (that allows targeting Xamarin.iOS and Xamarin.Android at once within the same project), the project needs a "Desktop msbuild" to package the library. dotnet pack or dotnet msbuild would not work (it would complain needing desktop msbuild). Since "Desktop msbuild" is only available on windows, currently, only windows is capable of packaging the library.

Current CI already uses windows image and packs the resultant nuget package as a github action artifact so developers shouldn't need to pack the library on their own.

.NET 6's sdk style project natively support single project, multi-targeting for net6.0-android, net6.0-ios and can be built, packed with dotnet build and dotnet pack on both windows and macOS. But adopting it would obviously force customers to migrate to .NET 6, so that route was not taken. When appropriate, future upgrades to this SDK can simply revert MSBuild.Sdk.Extras to Microsoft.NET.Sdk and multi-target .NET 6+ mobile TFMs.

Demo Apps

Two demo apps are included in the Github repo under XamarinFormSample/. They demonstrate the key features of the SDK on Android and iOS.

XamarinFormSample.Android

To build the Android app:

  1. Open the repo in Visual Studio
  2. Make sure "Android SDK Build-Tools 31" is installed.
  3. Plug in an Android device in USB debugging mode
  4. Select XamarinFormSample.Android > Debug > Your Device in the top bar and Press Run
  5. The demo app will be transferred to your device.

XamarinFormSample.iOS

To build the iOS app:

  1. Open the repo in Visual Studio
  2. you need to select a Provisioning Profile
  3. Right-click "XamarinFormSample.iOS" in the left bar and click "Options"
  4. Go to "Build" and "iOS Bundle Signing", select a valid provisioning profile or choose "Automatic" for the desired "Configuration" and "Platform" and press "OK" to save the settings
  5. Open "Info.plist" and set an appropriate "Bundle identifier"
  6. Select XamarinFormSample.iOS > Debug > Your Device in the top bar and Press Run

Troubleshooting

Please check out our Get help to get solutions for common installation problems and other issues.

Raise an issue

To provide feedback or report a bug, please raise an issue on our issue tracker.

Contributing

Anyone who wishes to contribute to this project, whether documentation, features, bug fixes, code cleanup, testing, or code reviews, is very much encouraged to do so.

To join, just raise your hand on the Authgear Discord server (#trouble) or the GitHub Authgear's discussion board.

If you are unfamiliar with how to contribute to GitHub projects, here is a Getting Started Guide. A full set of contribution guidelines, along with templates, are in progress.

Supported and maintained by

Auhgear is a highly adaptable identity-as-a-service (IDaaS) platform for web and mobile applications. To learn more checkout website

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.