网站和RESTful API的"共享"身份验证

 mobiledu2502909383 发布于 2023-01-31 17:29

目标:我的服务器需要将非用户定向到登陆/主页,并将用户登录到实际的应用程序.加载应用程序后,它将向RESTful API(通过Ajax)发出经过身份验证的 HTTP请求.

我有一个需要身份验证的RESTful API.在另一台服务器上,我有我的网站,也需要身份验证,因此我可以确定是为非用户显示登陆/主页还是为登录用户显示应用程序.

最初我认为为RESTful API实现HTTP Basic Auth就足够了.但是,为了让我的网站运行身份验证,我还需要在那里设置身份验证,这意味着复制低级代码以检查REST API和网站服务器中数据库中的凭据.

或者,我想知道该网站是否可以通过RESTful API进行身份验证.例如,在我的请求处理程序中POST /login,我可以GET向我的API发出请求,从请求正文传递用户凭据.如果请求返回200 OK,我可以签署用户的会话,从而验证它们.从那时起,对REST API的Ajax请求需要使用相同的凭据进行身份验证,因此我可以:

设置一个包含凭据的cookie,从而允许JavaScript在执行请求之前检索凭据(使用SSL确定?)

将凭据转储到Web应用程序的服务HTML中,从而允许JavaScript在执行请求之前检索凭据(使用SSL确定?)

通过Web应用服务器代理API,在那里我可以从会话中检索凭据并将它们添加到Authorization代理请求的标头中?

或者,我想我可以在两台服务器之间共享会话,虽然我听说这是RESTful设计的不良做法.

这样做会有什么问题?有没有更好的方法来实现我的目标?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有