gpt4 book ai didi

ios - 如何在 iOS 中存储客户端 ID/客户端 key 字符串

转载 作者:行者123 更新时间:2023-12-01 13:55:48 27 4
gpt4 key购买 nike

我正在构建一个使用 OAuth 对用户进行身份验证并向用户授予帐户访问权限的应用程序。

目前的认证流程如下:

  • 创建新应用程序
  • 向 API 服务注册应用程序
  • 安全地存储授予的客户端 ID 和客户端 secret
  • 启动应用程序
  • 应用程序在 SFSafariViewController 中打开服务的 OAuth 请求以供批准
  • 用户批准应用程序访问其服务帐户
  • 回调应用程序提供代码,在 AppDelegate 中接收
  • 通知已发布,将代码传递给 View Controller ,该 View Controller 将发起请求以交换客户端 ID、客户端密码和用于验证后续请求的 OAuth token 代码
  • 使用客户端 ID、客户端密码和代码发送请求以交换 OAuth token
  • 将 token 存储在 Keychain 中以供后续 API 请求

  • 我的所有内容都按列出的方式工作,但是,我不知道如何存储在向服务注册我的应用程序时授予我的客户端 ID 和客户端密码。客户端 ID 和客户端密码将被安全保存且不共享。当用户将它们交换为 OAuth token 时,将使用它们。

    由于我使用 GitHub 进行版本控制,我是否在我的应用程序中创建一个属性列表来存储项目?如果是这样,我可以将该文件添加到我的 .gitignore .这是存储我的凭据的合适方法吗?

    最佳答案

    不应该 将客户端密码原样存储在 native 应用程序中 a public client . native 应用程序无法保护资源所有者的数据(因此是客户端 secret )。
    客户端 secret 适用于能够正确隐藏客户端 secret 的服务器(或任何 secret 客户端)。您可以建立一个服务器(可以存储客户端密码),该服务器通过 HTTPS 处理来自您的移动应用程序的传入请求,然后将访问/刷新 token 发送回您的移动应用程序。

    关于ios - 如何在 iOS 中存储客户端 ID/客户端 key 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41528870/

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