当前位置 : 主页 > 手机开发 > ios >

ios – CloudKit身份验证登录/密码

来源:互联网 收集:自由互联 发布时间:2021-06-11
这是我的问题,我使用Parse解决方案构建了一个应用程序.在这个应用程序中,我使用了Parse的基本验证.在Parse死后,我需要迁移. 我想用CloudKit解决方案实现身份验证,但我不确定这是一个很好
这是我的问题,我使用Parse解决方案构建了一个应用程序.在这个应用程序中,我使用了Parse的基本验证.在Parse死后,我需要迁移.

我想用CloudKit解决方案实现身份验证,但我不确定这是一个很好的实践.我知道Cloudkit基本身份验证基于用户apple帐户.但我需要使用登录名/密码进行身份验证.

在Parse中没有类似“密码”的字段,所以我不知道如何以安全的方式在我的表中存储密码.而且我不确定在公共部分保存密码是否安全.

我想知道在CloudKit(登录/密码)中是否有良好的实践来实现基本身份验证?

在此先感谢您的帮助;)

PS:其他解决方案应该是移动到firebase,但我更喜欢CloudKit的逻辑.

要使用CloudKit管理登录/密码,没有后端登录代码,但让用户使用最近引入的Cloudkit服务器密钥访问从其他位置(Web应用程序, Android应用程序等)登录,您需要管理内部的登录逻辑该应用程序:

工作流程:

A.用户注册

>在Cloudkit Dashboard的公共数据库中创建“用户”容器.
>用户在注册时键入密码时,请加密密码.
>如果用户名/电子邮件已存在,请向“用户”容器发出请求.如果是,请警告用户.如果没有,继续该过程.
>在Cloudkit中的公共“users”容器上传电子邮件/用户名和加密密码.还包括用户的iCloudId.

B.用户登录

>当用户键入其用户名/电子邮件和密码时,使用用户名/电子邮件查询“用户”加密密码.如果请求为nil,则表示数据库中不存在此用户名/电子邮件.
>如果数据库返回加密密码,请在应用程序中对其进行解密,并将其与用户在登录表单中键入的密码进行比较.如果它们不匹配,则警告用户密码不匹配.

C.用户忘记密码

>为了让用户更改密码,用户必须登录到其iCLoud帐户才能比较请求更改密码的帐户的iCloudId等于CloudKit中保存的用户的iCLoudId.
>或者,您可以在用户注册时向用户询问安全问题,然后在用户请求密码更改时检查这些问题.

这不是一个建议的解决方案(在可扩展性方面),但我相信它可以回答您的问题.

网友评论