gpt4 book ai didi

ios - 使用 Facebook SSO 作为唯一登录机制对 iOS 客户端的 REST API 进行身份验证

转载 作者:行者123 更新时间:2023-11-28 17:43:56 28 4
gpt4 key购买 nike

我计划使用 Facebook 作为我正在构建的应用程序的唯一登录机制,并且需要一些关于设计的反馈。就这样——

用户打开应用程序并看到一个注册屏幕。 facebook 授权流程开始,让我们假设它成功并且用户已经成功注册了自己。成功后,该应用程序调用 Facebook 图形 API 并获取用户的名字、姓氏、电子邮件、出生日期等。使用这些数据,该应用程序随后调用名为 RegisterUser(string Fullname, string FirstName, string LastName ...) 在数据库中创建用户记录。

现在,对于 API 的后续调用,我需要验证请求是否真的来 self 的应用程序(不一定是特定用户)。我查看了 S3 REST API,似乎每个请求都有一个名为 Authorization 的 HTTP header ,客户端通过附加一堆其他 HTTP header (如日期、方法、请求数据、签名)来创建它与客户端的私钥并计算其 base64 编码值。这在服务器端验证以验证客户端。

现在,我很乐意实现所有这些,但有几个问题:

  • 如果我有私钥,将其作为 iOS 应用程序本身的一部分包含在内是否安全?有人可以从 iOS 应用程序二进制文件中提取 key 吗?如果是这样,我该如何处理?
  • 您是否会对此设计进行任何其他更改?

谢谢,
泰亚。

最佳答案

确保将单向哈希算法应用于 base64 编码的值 - base64 是一种双向编码,因此您不希望窃听者从中对您的私钥进行逆向工程。 Amazon S3 通过在执行 base64 之前执行 SHA-1 来执行此操作。

与所有(AFAIK?)编译的二进制文件一样,您的应用程序不应该被反编译。

关于ios - 使用 Facebook SSO 作为唯一登录机制对 iOS 客户端的 REST API 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6970256/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com