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"

GitHub

https://github.com/hitherejoe/FlutterOAuth