加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

Web应用程序应该如何使用我的公共API

发布时间:2020-12-14 18:40:29 所属栏目:资源 来源:网络整理
导读:我正在为服务开发一个公共HTTP后端API.最重要的是,有一个用户登录的Web应用程序,应该使用后端API来满足用户请求. API支持OAuth2,Web应用程序是单页面应用程序,带有大量的 javascript. 我担心的是浏览器和Web应用程序应该如何与API通信.我发现了两种可能的方
我正在为服务开发一个公共HTTP后端API.最重要的是,有一个用户登录的Web应用程序,应该使用后端API来满足用户请求. API支持OAuth2,Web应用程序是单页面应用程序,带有大量的 javascript.

我担心的是浏览器和Web应用程序应该如何与API通信.我发现了两种可能的方法.

浏览器直接使用API

当用户输入他的凭据进行登录时,Web应用程序会将其传递给API并获得OAuth access_token,该权限直接传递给浏览器并存储在某个cookie中.然后,API的每个请求都是通过JSONP直接从浏览器发出的.当用户注销时,Web应用程序会破坏会话.

浏览器与Web应用程序对话,该应用程序与API进行通信

当用户输入其凭据进行登录时,Web应用程序会将其传递给API并获得OAuth access_token.用户创建会话,access_token存储在会话中.当浏览器需要与API通信时,它会通过Web应用程序. Web应用程序在会话中使用访问令牌,调用API并将响应传递给浏览器.

两种方式都有性能和安全权衡的利弊.你怎么看?

PS:从我所看到的,twitter直接从浏览器使用它的公共API,但传递会话cookie进行身份验证.这意味着他们的API还支持cookie会话?

解决方法

担,

您提到的选项是常用选项.
您有一个表示层(UI)和一个业务层(API)
根据您将来可能需要的复杂性和可扩展性,选择哪一个是您在应用程序中需要多少层的问题.
如果API层与UI之间存在较大差距,则可能需要引入中间层.
如果差距很大,您将需要一个层来进行额外处理,抽象出复杂性并保持UI层不受杂乱.

但是,如果你需要的话,只需在API层顶层的UI层中进行简单处理即可获得选项1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读