casauth 1.2.0 copy "casauth: ^1.2.0" to clipboard
casauth: ^1.2.0 copied to clipboard

A third Flutter client SDK for casdoor.

casauth #

CASAuth Logo

A third Flutter client SDK for casdoor. Support follow platform:

platform tested example
iOS -
macOS Download
linux [-] -
Windows [-] -

Prepare #

You need install self's casdoor first. And I only test this SDK with a little version.

CASAuth Version Casdoor Version Tested
v1.1.0 v1.97.0
v1.1.0 v1.123.0
v1.2.0 v1.223.0

Usage #

In the example folder has a full app example develop with Flutter v3.3.0 and Casdoor. If casdoor server response status is error or code not 200, the SDK will thorws AuthClientError.

I will show howto use this SDK follow:

initiate #

import 'package:casauth/casauth.dart';

String appId = "some-app-id";
String appName = "app-example";
String orgnazationName = "casbin";
String server = "https://door.casdoor.com";

try {
CASAuth(
  appName,
  appId,
  server,
  orgnazationName,
);
await CASAuth.init();

} catch (e) {
  debugPrint("init casauth SDK failed: $e");
}

login #

AuthResult resp =  AuthClient.loginByUserName(username, password);

register #

Register new user only with username and password. If displayName is required by casdoor, it will be same with username.

AuthResult resp = await AuthClient.registerByUserName(username, password);

Regsiter new user with email and verification code, username, password and displayName is optional. if username adn password is required by casdoor, it will be filled with random string.

AuthResult resp = await AuthClient.registerByEmail(
  email,
  verifyCode,
  username: username,
  password: password,
);

Regsiter new user with phone and verification code, username, password and displayName is optional.

AuthResult resp = await AuthClient.registerByPhone(
  phone,
  verifyCode,
  username: username,
  password: password,
);

APIs #

Authentication APIs #

Register by username #

static Future<AuthResult> registerByUserName(
  String username,
  String password, {
  String displayName = "",
}) async

Register by email #

static Future<AuthResult> registerByEmail(
  String email,
  String code, {
  String username = '',
  String password = '',
  String displayName = '',
}) async

Register by phone #

static Future<AuthResult> registerByPhone(
  String phone,
  String code, {
  String username = '',
  String password = '',
  String displayName = '',
  String countryCode = "86",
}) async

Login by username #

static Future<AuthResult> loginByUserName(
  String username,
  String password, {
  bool autoSignin = false,
}) async

Login by verification code #

static Future<AuthResult> loginByCode(
  String phoneOrEmail,
  String code, {
  AccountType type = AccountType.phone,
  bool autoSignin = false,
  String countryCode = "86",
}) async

Logout #

static Future<AuthResult?> logout() async

Get Captcha #

static Future<CaptchaResult> getCaptcha() async

Send verification code #

If method is empty or not method, casdoor server will check user is exists.

static Future<AuthResult> sendCode(
  String dest, {
  AccountType? type = AccountType.phone,
  String? checkId = "",
  String? checkKey = "",
  String? checkType = "none",
  String? checkUser = "",
  String? method = "signup",
}) async

Fetch current user info #

static Future<User?> userInfo() async

License #

1
likes
115
points
42
downloads

Publisher

unverified uploader

Weekly Downloads

A third Flutter client SDK for casdoor.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

crypto, cupertino_icons, email_validator, flutter, http, shared_preferences

More

Packages that depend on casauth