簡體   English   中英

Heroku(PostgreSQL)上的現有Ruby on Rails Web應用程序,Devise身份驗證,需要添加Rails API以支持移動設備

[英]Existing Ruby on Rails web app on Heroku (PostgreSQL), Devise authentication, need to add Rails API for mobile backed

我有一個現有的RoR Web應用程序,當前使用Devise進行身份驗證。

我正計划以一種或另一種方式為移動后端添加API功能。

您是否建議向Web應用程序中添加API功能並使用JWT來啟用移動身份驗證。 或者,您是否有兩個單獨的應用程序,一個Web應用程序和一個API,它們在Heroku上共享相同的Postgres實例?

我看到了兩種方式的利弊,但在我看來,將其分為兩個應用程序要比向Web應用程序添加API功能更為重要。 也許,從一個API重新開始並添加移動應用程序客戶端和Web應用程序客戶端功能將是最有意義的。

首先創建僅后端的新API可能會更容易,但是您將不得不在模型中復制所有應用程序邏輯,並且使雙方都保持最新狀態將很痛苦。 如果為新API命名空間,則可以在同一個Rails應用程序中進行操作,以便所有調用都在/api_v1或類似的名稱下。 是一篇文章,展示了如何擁有不同版本的API。

用於身份驗證的JWT是一種很好的方式,Devise可以通過添加諸如devise-jwt之類的gem來支持它們,因為添加路由並自行處理令牌的創建和更新是很多工作。

對於API本身,您可能需要考慮將JSON:APIjsonapi-rails gem或GraphQLgraphql gem一起使用。 這樣,當某人想要使用您的API時,他們可以為其框架使用可以與該類API對話的適配器,而不必擔心其返回的結構。 這兩種API都有適用於Andrioid,IOS,Ember,React和所有其他主要前端框架的適配器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM