swift - 在 Vapor 中使用第三方 OAuth API
问题描述
我正在学习 Vapor,作为这个过程的一部分,我正在使用该框架构建一个网站。作为我的应用程序的一部分,我想使用使用 OAuth 的 Uber API。
此处概述的检索用户访问令牌的过程,它特别建议使用预构建的库来执行授权授予和令牌交换。
对于 OAuth,我能够找到两个库,分别是:
这两个库似乎与 Swift 的包管理器不兼容,因此不能与 Vapor 一起使用。
有什么解决方法吗?或者我是否必须手动创建一个库来支持使用 Vapor 的 OAuth 流程?
解决方案
据我所见,大多数 Vapor 身份验证都是通过以下方式完成的turnstile
:
https ://github.com/stormpath/Turnstile
raywenderlich 有很好的教程/演练: https ://videos.raywenderlich.com/screencasts/637-server-side-swift-with-vapor-authentication-with-turnstile
由于您想与 Uber 集成,我建议您阅读 Uber 的 SDK 进行身份验证并添加您自己的方法来处理用户端点,这样您就可以将 Uber 添加为提供者,而不是添加一个全新的 OAuth 库/框架来完成它为你。
另一个很棒的资源是Vapor OAuth
,它写得很漂亮,但技术性更强:
https ://github.com/brokenhandsio/vapor-oauth
如果您是新的 Web 开发人员,我建议您在学习 Vapor 之前学习一个众所周知的框架,例如 React 或 Angular 和 Node.js,或者在继续之前拥有一些原生的 swift 经验。React 和 Angular 是基于 Javascript 的 Web 框架,您可以很容易地获得帮助。React 还支持 iOS 开发,React Native
并且比 Vapor 使用得更频繁。
推荐阅读
- sql - Linq to SQL 用例和 Lag 等价物
- java - 属性 [path] 对于标签错误是必需的,但指定了路径
- mongodb - 在聚合 MongoDB 中使用计数
- php - Laravel 跨域共享会话
- cmake - 带有 Emscripten 和 vcpkg 的 CMake 无法绑定两个 TOOLCHAIN_FILES
- google-cloud-firestore - 使用 Zapier 获取 FireStore 子集合 ID
- composer-php - Laravel 7 无法安装 laravel voyager
- javascript - jQuery箭头函数替代
- python - 如何在 Django 模板中使用 Bootstrap/静态文件
- javascript - 在对象数组中按特定键计算分组值