微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/html/225631.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐