如何在Flutter中使用Firebase更改密码

问题描述 投票:0回答:2

我想在Flutter中使用Firebase更改当前用户密码。任何人都可以帮我解决如何实施更改密码的方法吗?

firebase dart firebase-authentication flutter
2个回答
1
投票

由于@Gunter提到该功能目前仍然不可用,您可以暂时使用firebase REST API方式更改密码。

import 'package:http/http.dart' as http;
import 'dart:convert';
import 'dart:async';

Future<Null> changePassword(String newPassword) async {
  const String API_KEY = 'YOUR_API_KEY';
  final String changePasswordUrl =
      'https://www.googleapis.com/identitytoolkit/v3/relyingparty/setAccountInfo?key=$API_KEY';

      final String idToken = await user.getIdToken(); // where user is FirebaseUser user

    final Map<String, dynamic> payload = {
      'email': idToken,
      'password': newPassword,
      'returnSecureToken': true
    };

  await http.post(changePasswordUrl, 
    body: json.encode(payload), 
    headers: {'Content-Type': 'application/json'},  
  )
}

您可以在idToken对象上使用getIdToken()方法获取FirebaseUser

您可以在控制台的项目设置下获取firebase api密钥

enter image description here


1
投票

目前不支持此功能。

当这个拉取请求被合并时,qutxswpoi Flutter firebase_auth包将支持它。

© www.soinside.com 2019 - 2024. All rights reserved.