Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/TinyStuff/TinyAccountManager

Account manager for Xamarin and UWP
https://github.com/TinyStuff/TinyAccountManager

android ios uwp windows xamarin

Last synced: 3 months ago
JSON representation

Account manager for Xamarin and UWP

Awesome Lists containing this project

README

        

# Xamarin.Essentials
Xamarin.Essentials will have this functionallity, please take a look at it. But we will continue to maintain TinyAccountMananger for thoose who use it.
https://docs.microsoft.com/en-us/xamarin/essentials/

# TinyAccountManager
Account manager for Xamarin and UWP. Store account information in your app in a secure way.

## Build status
| Platform | Status |
|---|---|
| iOS | |
| Android | |
| UWP | |

## Get started
This is as short guide how to get started using TinyAccountManager.

### How to install
The easiest way is to install the package from NuGet:

```
Install-Package TinyAccountManager
```

You should install it on all your platform project and if you have other projects in your solution where you want to access it, you should install it there as well.

### How to use
Here is a small get started guide, there are also a sample project if you take a look in the src folder.

#### Initialization
The first you need to do is to initialize the AccountManager per platform.

```csharp
//iOS
TinyAccountManager.iOS.AccountManager.Initialize();

//Android
TinyAccountManager.Droid.AccountManager.Initialize();

//UWP
TinyAccountManager.UWP.AccountManager.Initialize();
```

#### Save
The only filed that are required is ServiceId.

```csharp
var account = new Account()
{
ServiceId = "TinyAccountManagerSample",
Username = "dhindrik"
};

account.Properties.Add("Password", "MySecretPassword");

await AccountMananger.Current.Save(account);
```

#### Get and Exists
It's recommended that you use Exists before Get, if you using Get and there is no matching account it will throw an exception.
```csharp
Account account = null;

var exists = await AccountManager.Current.Exists("TinyAccountManagerSample")

if(exists)
 account = await AccountManager.Current.Get("TinyAccountManagerSample")
```

#### Remove
```csharp
await AccountManager.Current.Remove("TinyAccountManagerSample")
```

#### IOC
If you want to use IOC instead of the singleton pattern, you just register the implemenation for each platform with the IAccountManager interface. If you select this way you don't have to run Initialize on each platform

**iOS:** iOSAccountManager

**Android:** AndroidAccountManager

**UWP:** UWPAccountManager