首页 > 解决方案 > 在 Vapor 中使用第三方 OAuth API

问题描述

我正在学习 Vapor,作为这个过程的一部分,我正在使用该框架构建一个网站。作为我的应用程序的一部分,我想使用使用 OAuth 的 Uber API。

此处概述的检索用户访问令牌的过程,它特别建议使用预构建的库来执行授权授予和令牌交换。

对于 OAuth,我能够找到两个库,分别是:

OAuthSwiftp2/OAuth2

这两个库似乎与 Swift 的包管理器不兼容,因此不能与 Vapor 一起使用。

有什么解决方法吗?或者我是否必须手动创建一个库来支持使用 Vapor 的 OAuth 流程?

标签: swiftoauth-2.0vapor

解决方案


据我所见,大多数 Vapor 身份验证都是通过以下方式完成的turnstilehttps ://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 使用得更频繁。


推荐阅读