当前位置: 首页 > 面试题库 >

重新认证用户凭证Swift

苏边浩
2023-03-14
问题内容

我希望在允许用户更改其登录信息之前重新对其进行身份验证。但是,由于最近的Firebase更新,我发现文档没有帮助。使用此链接,我产生了以下authenticateUser()函数。

func authenticateUser()
{
    let user = FIRAuth.auth()?.currentUser
    var credential: FIRAuthCredential

    //prompt user to re-enter info

    user?.reauthenticateWithCredential(credential, completion: { (error) in
        if error != nil
        {
            self.displayAlertMessage("Error reauthenticating user")
        }
        else
        {
            //user reauthenticated successfully
        }
    })
}

但是,我不确定如何使用FIRAuthCredential类型的凭证变量来重新认证用户。此类的文档可在此处找到。


问题答案:

获取FIRAuthCredential对象取决于要用于重新认证的提供程序。

电子邮件:

let credential = FIREmailPasswordAuthProvider.credentialWithEmail(email, password: password)

脸书:

let credential = FIRFacebookAuthProvider.credentialWithAccessToken(FBSDKAccessToken.currentAccessToken().tokenString)

推特:

let credential = FIRTwitterAuthProvider.credentialWithToken(session.authToken, secret: session.authTokenSecret)

谷歌:

let authentication = user.authentication
let credential = FIRGoogleAuthProvider.credentialWithIDToken(authentication.idToken, accessToken: authentication.accessToken)


 类似资料:
  • 简介 除了提供开箱即用的 用户认证 服务外, Laravel 还提供了一种更简单的方式来处理用户的授权动作。 类似用户认证, Laravel 的用户认证方法很简单,并且提供了2种主要方式来实现用户授权:gates 和策略。 可以把 gates 和策略比作路由和控制器。 Gates 提供了一个简单的、基于闭包的方式来进行授权认证,策略和控制器类似,在特定的模型或者资源中通过分组来实现授权认证的逻辑。

  • 在开发Web应用过程中,用户认证是开发者经常遇到的问题,用户登录、注册、登出等操作,而一般认证也分为三个方面的认证 HTTP Basic和 HTTP Digest认证 第三方集成认证:QQ、微博、豆瓣、OPENID、google、github、facebook和twitter等 自定义的用户登录、注册、登出,一般都是基于session、cookie认证 beego目前没有针对这三种方式进行任何形式

  • 原作者没有写完,但是可以参照下一节,写得很详细 问题 如何完成一个用户认证系统? 解法 用户认证系统由这几个部分组成:用户添加,用户登录,用户注销以及验证用户是否已登录。用户认证系统一般都需要一个数据库。在这个例子中,我们要用到MD5和SQLite。 ## import hashlib import web def POST(self): i = web.input() auth

  • 问题内容: 我有一个将使用flask和mongodb的应用程序;我可能会将其托管在机架空间上。 我需要了解flask验证的工作原理。我没有找到有关此主题的太多信息。是否有有关如何推出自己的解决方案的完整教程?如果不是这样,我当然想听听您flask应用程序的处理方式的一些想法。 大PS: 我只是考虑过 我还需要打开一个真实的API。该API的一部分将在前端用于AJAX。如何保护应用程序的那部分? 谁

  • 问题内容: 运行WebSphere MQ Server v7.1的Linux Server Box: 我在Linux中创建了一个属于’mq-users’组的用户’mq- user’。然后,我创建了队列管理器,并使用MQSC发出以下命令来创建队列并设置安全性: 运行WebSphere MQ Client v7.1和WebSphere MQ Explorer的Linux Client Box: 我以我

  • 我试图与谷歌云存储使用凭证令牌进行身份验证。在node.jsGCS api文档中找不到关于如何做到这一点的示例。它们指示生成并下载包含私钥的json文件,然后链接到文件系统上的路径,如下所示: 这个很好用。 然而,我不想将我的密钥保存为JSON文件,而是创建凭据并将其保存为环境变量: 我尝试使用服务号HMAC访问密钥从桶的设置、互操作性菜单中获取此令牌。 当我尝试使用上面的身份验证方法从bucke