使用用户对象的@Override
public List<BrojPolice> dohvatiBrojPolice() {
List<BrojPolice> filter = jdbcTemplate.query("SELECT*FROM ins2.kalk_cpi;",new Object[]{},
(rs,rowNum) ->{
BrojPolice bp = new BrojPolice();
bp.setBroj(rs.getString("BROJ_POLICE"));
return bp;
});
return filter;
}
@Override
public List<BrojPolice> dohvatiBrojPolice2() {
List<BrojPolice> filter2 = jdbcTemplate.query("SELECT*FROM ins_RAZNO.ADND_DATOTEKA;",new Object[]{},
(rs,rowNum) ->{
BrojPolice bp = new BrojPolice();
bp.setBroj(rs.getString("BROJ_POLICE"));
return bp;
});
return filter2;
}
public List<String> brojPolice(){
boolean match = dohvatiBrojPolice().contains(dohvatiBrojPolice2());
//ideas?
return //List
}
方法,更改当前登录用户的电子邮件地址就可以了,但是看起来好像该更改没有复制到其他登录名中,而其他登录名仍然保留以前的电子邮件地址
我是否需要订阅/捕获任何通知才能通过此类更改得到通知?还是有另一种方式来实现这一目的?
答案 0 :(得分:0)
我,作为Firebaser的老手,我经常阅读文档,就像很多一样。由于没有内置的,我确实有解决方法。
首先,如果您为每个用户提供多个会话,则需要使用reauthenticate
方法。
重新验证用户
一些对安全性敏感的操作,例如删除帐户,设置 主电子邮件地址,并更改密码-要求用户 最近登录。如果您执行以下操作之一,并且 用户登录时间太久,操作失败并显示 FIRAuthErrorCodeCredentialTooOld错误。当这个情况发生时, 通过从以下位置获取新的登录凭据来重新认证用户 用户并传递凭据以进行重新认证。例如:
let user = Auth.auth().currentUser
var credential: AuthCredential
// Prompt the user to re-provide their sign-in credentials
user?.reauthenticate(with: credential) { error in
if let error = error {
// An error happened.
} else {
// User re-authenticated.
}
}
使用此方法,由于凭据过旧,您会在90%的时间内出现错误。
或者:
(1)在更改过程中。为您的实时数据库或Firestore上的用户设置特定密钥, (2)检查您的应用程序上是否存在该特定密钥。这意味着用户需要重新认证。 Firebase将在每次新登录时更新用户凭据。
我希望它会有所帮助。 这是文档: