Flutter OAuth
一个 Flutter OAuth 包,用于为您的应用执行用户身份验证。
我已测试了少量 API(Buffer、Strava、Unsplash 和 GitHub)。如果您尝试使用的 API 存在问题,请提交一个 issue :)
授权应用程序
使用此库授权 API 非常简单。在大多数情况下,您可以
使用以下方法即可
final OAuth flutterOAuth = new FlutterOAuth(new Config(
"https://unsplash.com/oauth/authorize",
"https://unsplash.com/oauth/token",
"YOUR_CLIENT_ID",
"YOUR_CLIENT_SECRET",
"https://:8080",
"code"));
这允许您传入授权 URL、令牌请求 URL、客户端 ID、客户端密钥、
重定向 URL 和响应类型。这应该可以满足大多数请求,但如果不行,您可以传入
其他可选参数以
- contentType - 这允许您更改请求的内容类型。例如,对于 Spotify
API 授权,您需要使用“application/x-www-form-urlencoded”
final OAuth flutterOAuth = new FlutterOAuth(new Config(
...,
contentType: "application/x-www-form-urlencoded"));
- parameters - 添加此库默认不支持的自定义参数。例如,
使用 GitHub API,您可以发送一个 state 字符串和 scopes 来获取授权
Map<String, String> customParameters = {"state": "SOME_RANDOM_SECURE_STRING", "scope": "public_repo"};
final OAuth flutterOAuth = new FlutterOAuth(new Config(
...,
parameters: customParameters));
- headers - 某些 API 要求您发送自定义标头,例如 Authorization 标头。如果需要,请使用此
参数
Map<String, String> headers = {"Authorization": "Basic SOME_BASE_64_STRING"};
final OAuth flutterOAuth = new FlutterOAuth(new Config(
...,
headers: headers));
然后,一旦您拥有 OAuth 实例,就可以像这样简单地调用 performAuthorization() 方法来检索 Token 实例
Token token = await flutterOAuth.performAuthorization();
String accessToken = token.accessToken;
安装
将以下内容添加到您的 pubspec.yaml 依赖项中
dependencies:
flutter_oauth: "^0.0.1"