angel_auth 1.1.0+2

  • README.md
  • CHANGELOG.md
  • Installing
  • Versions
  • 91

angel_auth

Pub build status

A complete authentication plugin for Angel. Inspired by Passport.

Wiki

Click here.

Bundled Strategies

  • Local (with and without Basic Auth)
  • Find other strategies (Twitter, Google, OAuth2, etc.) on Pub!!!

Example

Ensure you have read the wiki.

configureServer(Angel app) async {
  var auth = new AngelAuth();
  auth.serializer = ...;
  auth.deserializer = ...;
  auth.strategies.add(new LocalAuthStrategy(...));
  
  // POST route to handle username+password
  app.post('/local', auth.authenticate('local'));
  
  // Use a comma to try multiple strategies!!!
  //
  // Each strategy is run sequentially. If one succeeds, the loop ends.
  // Authentication failures will just cause the loop to continue.
  // 
  // If the last strategy throws an authentication failure, then
  // a `401 Not Authenticated` is thrown.
  var chainedHandler = auth.authenticate(
    ['basic','facebook'],
    authOptions
  );
  
  // Apply angel_auth-specific configuration
  await app.configure(auth.configureServer);
  
  // Middleware to decode JWT's...
  app.use(auth.decodeJwt);
}

Default Authentication Callback

A frequent use case within SPA's is opening OAuth login endpoints in a separate window. angel_client provides a facility for this, which works perfectly with the default callback provided in this package.

configureServer(Angel app) async {
  var handler = auth.authenticate(
    'facebook',
    new AngelAuthOptions(callback: confirmPopupAuthentication()));
  app.get('/auth/facebook', handler);
  
  // Use a comma to try multiple strategies!!!
  //
  // Each strategy is run sequentially. If one succeeds, the loop ends.
  // Authentication failures will just cause the loop to continue.
  // 
  // If the last strategy throws an authentication failure, then
  // a `401 Not Authenticated` is thrown.
  var chainedHandler = auth.authenticate(
    ['basic','facebook'],
    authOptions
  );
}

This renders a simple HTML page that fires the user's JWT as a token event in window.opener. angel_client exposes this as a Stream:

app.authenticateViaPopup('/auth/google').listen((jwt) {
  // Do something with the JWT
});

1.1.0+2

  • LocalAuthStrategy returns true on Basic authentication.

1.1.0+1

  • Modified LocalAuthStrategy's handling of Basic authentication.

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  angel_auth: "^1.1.0+2"

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:angel_auth/angel_auth.dart';
        
Version Uploaded Documentation Archive
1.1.0+2 Dec 21, 2017 Go to the documentation of angel_auth 1.1.0+2 Download angel_auth 1.1.0+2 archive
1.1.0+1 Dec 21, 2017 Go to the documentation of angel_auth 1.1.0+1 Download angel_auth 1.1.0+1 archive
1.1.0 Dec 7, 2017 Go to the documentation of angel_auth 1.1.0 Download angel_auth 1.1.0 archive
1.0.5 Jun 3, 2017 Go to the documentation of angel_auth 1.0.5 Download angel_auth 1.0.5 archive
1.0.4+1 Apr 26, 2017 Go to the documentation of angel_auth 1.0.4+1 Download angel_auth 1.0.4+1 archive
1.0.4 Apr 26, 2017 Go to the documentation of angel_auth 1.0.4 Download angel_auth 1.0.4 archive
1.0.3 Apr 25, 2017 Go to the documentation of angel_auth 1.0.3 Download angel_auth 1.0.3 archive
1.0.2 Mar 29, 2017 Go to the documentation of angel_auth 1.0.2 Download angel_auth 1.0.2 archive
1.0.1 Mar 2, 2017 Go to the documentation of angel_auth 1.0.1 Download angel_auth 1.0.1 archive
1.0.0 Feb 28, 2017 Go to the documentation of angel_auth 1.0.0 Download angel_auth 1.0.0 archive

All 31 versions...

Analysis

This feature is new.
We welcome feedback.
More details: scoring.

We analyzed this package, and provided a score, details, and suggestions below.

  • completed on Feb 3, 2018
  • Dart: 2.0.0-dev.20.0
  • pana: 0.10.1

Scores

Popularity:
Describes how popular the package is relative to other packages. [more]
82 / 100
Health:
Code health derived from static analysis. [more]
99 / 100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100 / 100
Overall score:
Weighted score of the above. [more]
91

Platforms

Detected platforms: other

Primary library: package:angel_auth/angel_auth.dart with components: io, mirrors.

Suggestions

  • The description is too short.

    Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

  • Maintain an example.

    Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use angel_auth.dart.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.19.0
angel_framework ^1.1.0-alpha 1.1.0+3
crypto ^2.0.0 2.0.2+1
Transitive dependencies
angel_http_exception 1.0.0
angel_model 1.0.0
angel_route 2.0.5
async 2.0.3
body_parser 1.0.3
charcode 1.1.1
collection 1.14.5
combinator 1.0.0-beta+7
container 0.1.2
convert 2.0.1
http_server 0.9.7
json_god 2.0.0-beta+1
logging 0.11.3+1
matcher 0.12.1+4
merge_map 1.0.0
meta 1.1.2
mime 0.9.6
path 1.5.1
pool 1.3.4
quiver_hashcode 1.0.0
random_string 0.0.1
source_span 1.4.0
stack_trace 1.9.1
string_scanner 1.0.2
tuple 1.0.1
typed_data 1.1.5
Dev dependencies
http ^0.11.0
test ^0.12.0