首页 > 解决方案 > Flutter web Auth无法访问查询参数

问题描述

我正在尝试使用 Discord OAuth API,并且我正在使用this_package,它可以与其他 API(例如 Google 和 Facebook)一起使用,但在重定向到 localhost 后我无法访问 URL 中的值。难道我做错了什么?还是有另一种使用 Discord OAuth 的方法?

import 'package:flutter/material.dart';
import 'package:flutter_web_auth/flutter_web_auth.dart';

class DiscordLogin extends StatefulWidget {
  @override
  _DiscordLoginState createState() => _DiscordLoginState();
}

class _DiscordLoginState extends State<DiscordLogin> {

  void discordAuth()async{
    String discordAuthUrl = "https://discord.com/api/oauth2/authorize?client_id=[MY_DISCORD_APP_CLIENT_ID]&redirect_uri=http%3A%2F%2F127.0.0.1%3A8000%2Fapi%2Fdiscord&response_type=code&scope=identify%20email";
    String callBackUrlScheme = "127.0.0.1";
    final result = await FlutterWebAuth.authenticate(url: discordAuthUrl, callbackUrlScheme: callBackUrlScheme);
    final token = Uri.parse(result).queryParameters['code'];
    print(token);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Center(
          child: FlatButton(
            child : Container(
              width: 100,
              height: 100,
              color: Colors.blue,
              child: Text(
                'login'
              ),
            ),
                onPressed: discordAuth,
          ),
        ),
      ),
    );
  }
}

如果您需要我更改任何内容,请告诉我,谢谢!

标签: iosflutterdartdiscord

解决方案


推荐阅读