GithubHelp home page GithubHelp logo

auth0_spa_dart's Introduction

A generated Dart API for auth0-spa-js using pkg/js and dart_js_facade_gen.

Created from templates made available by Stagehand under a BSD-style license.

Installation

From the CDN:
<script src="https://cdn.auth0.com/js/auth0-spa-js/1.6/auth0-spa-js.production.js"></script>

Usage

A simple usage example:

import 'package:auth0_spa_dart/auth0_spa_dart.dart';

Auth0Client auth0;
final clientId = '';
final domain = '';
final redirectUrl = window.location.href;
final options = CreateAuth0ClientOptions(
    domain: domain, client_id: clientId, redirect_uri: redirectUrl);

void main() async {
  auth0 = await createAuth0Client(options);
}

Features and bugs

Please file feature requests and bugs at the issue tracker.

auth0_spa_dart's People

Contributors

dennougorilla avatar

Stargazers

 avatar

Watchers

 avatar  avatar

auth0_spa_dart's Issues

dart_js_facade_gen generate `extension` and can't use it's code

@JS()
library Auth0Client;

import "package:js/js.dart";
import "package:js/js_util.dart" show promiseToFuture;

/// Auth0 SDK for Single Page Applications using [Authorization Code Grant Flow with PKCE](https://auth0.com/docs/api-auth/tutorials/authorization-code-grant-pkce).
@JS()
class Auth0Client {
  // @Ignore
  Auth0Client.fakeConstructor$();
  external get options;
  external set options(v);
  external get cache;
  external set cache(v);
  external get transactionManager;
  external set transactionManager(v);
  external get domainUrl;
  external set domainUrl(v);
  external get tokenIssuer;
  external set tokenIssuer(v);
  external get DEFAULT_SCOPE;
  external factory Auth0Client(Auth0ClientOptions options);
  external get JS$_url;
  external set JS$_url(v);
  external get JS$_getParams;
  external set JS$_getParams(v);
  external get JS$_authorizeUrl;
  external set JS$_authorizeUrl(v);
  external get JS$_verifyIdToken;
  external set JS$_verifyIdToken(v);
  external get JS$_parseNumber;
  external set JS$_parseNumber(v);

  /// ```js
  /// auth0.logout();
  /// ```
  /// Performs a redirect to `/v2/logout` using the parameters provided
  /// as arguments. [Read more about how Logout works at Auth0](https://auth0.com/docs/logout).
  external void logout([LogoutOptions options]);
}

@JS("Auth0Client")
abstract class _Auth0Client {
  external Promise<String> buildAuthorizeUrl([RedirectLoginOptions options]);
  external Promise<void> loginWithPopup(
      [PopupLoginOptions options, PopupConfigOptions config]);
  external Promise<dynamic> getUser([GetUserOptions options]);
  external Promise<IdToken> getIdTokenClaims([getIdTokenClaimsOptions options]);
  external Promise<void> loginWithRedirect([RedirectLoginOptions options]);
  external Promise<RedirectLoginResult> handleRedirectCallback([String url]);
  external Promise<dynamic> getTokenSilently([GetTokenSilentlyOptions options]);
  external Promise<String> getTokenWithPopup(
      [GetTokenWithPopupOptions options, PopupConfigOptions config]);
  external Promise<bool> isAuthenticated();
}

extension Auth0ClientExtensions on Auth0Client {
  Future<String> buildAuthorizeUrl([RedirectLoginOptions options]) {
    final Object t = this;
    final _Auth0Client tt = t;
    return promiseToFuture(tt.buildAuthorizeUrl(options));
  }

  Future<void> loginWithPopup(
      [PopupLoginOptions options, PopupConfigOptions config]) {
    final Object t = this;
    final _Auth0Client tt = t;
    return promiseToFuture(tt.loginWithPopup(options, config));
  }

  Future<dynamic> getUser([GetUserOptions options]) {
    final Object t = this;
    final _Auth0Client tt = t;
    return promiseToFuture(tt.getUser(options));
  }

  Future<IdToken> getIdTokenClaims([getIdTokenClaimsOptions options]) {
    final Object t = this;
    final _Auth0Client tt = t;
    return promiseToFuture(tt.getIdTokenClaims(options));
  }

  Future<void> loginWithRedirect([RedirectLoginOptions options]) {
    final Object t = this;
    final _Auth0Client tt = t;
    return promiseToFuture(tt.loginWithRedirect(options));
  }

  Future<RedirectLoginResult> handleRedirectCallback([String url]) {
    final Object t = this;
    final _Auth0Client tt = t;
    return promiseToFuture(tt.handleRedirectCallback(url));
  }

  Future<dynamic> getTokenSilently([GetTokenSilentlyOptions options]) {
    final Object t = this;
    final _Auth0Client tt = t;
    return promiseToFuture(tt.getTokenSilently(options));
  }

  Future<String> getTokenWithPopup(
      [GetTokenWithPopupOptions options, PopupConfigOptions config]) {
    final Object t = this;
    final _Auth0Client tt = t;
    return promiseToFuture(tt.getTokenWithPopup(options, config));
  }

  Future<bool> isAuthenticated() {
    final Object t = this;
    final _Auth0Client tt = t;
    return promiseToFuture(tt.isAuthenticated());
  }
}

@JS()
abstract class Promise<T> {
  external factory Promise(
      void executor(void resolve(T result), Function reject));
  external Promise then(void onFulfilled(T result), [Function onRejected]);
}

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.