jaguar_oauth 0.1.0 copy "jaguar_oauth: ^0.1.0" to clipboard
jaguar_oauth: ^0.1.0 copied to clipboard

outdatedDart 1 only

OAuth interceptors for Jaguar

jaguar_oauth #

OAuth interceptors for Jaguar

Usage #

A simple usage example:

import 'dart:async';
import 'package:jaguar_reflect/jaguar_reflect.dart';
import 'package:jaguar/jaguar.dart';
import 'package:jaguar_oauth/jaguar_oauth.dart';
import 'package:oauth2/oauth2.dart' as oauth2;

const JaguarOauth2Config facebook = const JaguarOauth2Config();

@RouteGroup(path: '/auth')
class AuthRoutes {
  @Get(path: '/fb/authreq')
  @WrapOAuth2Req(null, makeParams: const {
    #config: const MakeParamFromMethod(#facebook),
  })
  void fbAuthReq() {}

  @Get(path: '/fb/authorized', mimeType: 'application/json')
  @WrapOAuth2Authorized(null, makeParams: const {
    #config: const MakeParamFromMethod(#facebook),
  })
  Future<String> fbAuthorized(
      @Input(OAuth2Authorized) oauth2.Client client) async {
    final resp = await client.get('https://graph.facebook.com/v2.8/me');
    return resp.body;
  }

  JaguarOauth2Config facebook() => new JaguarOauth2Config(
      key: Settings.getString('facebook_oauth_key'),
      secret: Settings.getString('facebook_oauth_secret'),
      authorizationEndpoint: 'https://www.facebook.com/dialog/oauth',
      tokenEndpoint: 'https://graph.facebook.com/v2.8/oauth/access_token',
      callback: Settings.getString('baseurl') + '/api/auth/fb/authorized',
      scopes: ['email']);
}

@Api(path: '/api')
class MyApi {
  @Group()
  final AuthRoutes auth = new AuthRoutes();
}

main(List<String> args) async {
  Settings.parse(args);
  Configuration conf = new Configuration();
  conf.addApi(new JaguarReflected(new MyApi()));

  await serve(conf);
}

Features and bugs #

Please file feature requests and bugs at the issue tracker.

0
likes
0
pub points
0%
popularity

Publisher

unverified uploader

OAuth interceptors for Jaguar

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

jaguar, jaguar_auth, oauth2

More

Packages that depend on jaguar_oauth