Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在REST环境中区分服务器?_Php_Rest_Authentication_Websocket - Fatal编程技术网

Php 如何在REST环境中区分服务器?

Php 如何在REST环境中区分服务器?,php,rest,authentication,websocket,Php,Rest,Authentication,Websocket,我想将服务器与RESTAPI区分开来 我有一个RESTAPI、一个WebSocket和X个本地服务器(数量每分钟变化一次,从1到20) RESTAPI和websocket都使用php,而本地服务器使用Java 服务器都连接到websocket。这样他们就可以互相交流了 服务器和websocket可以向RESTAPI发送请求 问题是,我想允许任何人向REST服务器发送请求 因此,我必须通过REST服务器对websocket和服务器进行身份验证,以允许对websocket执行某些操作(例如创建用户)

我想将服务器与RESTAPI区分开来

我有一个RESTAPI、一个WebSocket和X个本地服务器(数量每分钟变化一次,从1到20)

RESTAPI和websocket都使用php,而本地服务器使用Java

服务器都连接到websocket。这样他们就可以互相交流了

服务器和websocket可以向RESTAPI发送请求

问题是,我想允许任何人向REST服务器发送请求

因此,我必须通过REST服务器对websocket和服务器进行身份验证,以允许对websocket执行某些操作(例如创建用户),并允许对服务器执行其他操作(例如登录)

所有这些服务器都在同一台机器上(=>localhost)

您知道如何对服务器和WebSocket进行身份验证吗?我认为OAuth2只适合其他用户(不是WebSocket,也不是Java服务器)

我不知道在这种情况下私钥和公钥是否良好,如果是,我如何使用它?或者我必须为WebSocket和所有Java服务器创建不同的密码

谢谢,
0ddlyoko

OAuth2仍然是个好主意。您将无法使用
承载
HTTP头,因为WebSocket中没有真正的HTTP头,但您仍然可以发送该令牌进行身份验证


有一种标准的方法来处理身份验证是一件好事

OAuth2仍然是个好主意。您将无法使用
承载
HTTP头,因为WebSocket中没有真正的HTTP头,但您仍然可以发送该令牌进行身份验证


有一种标准的方法来处理身份验证是一件好事

感谢您的帮助,经过一些搜索,有不同的身份验证方式:客户端凭据、授权码授予、用户凭据和隐式授予。在我的例子中,WebSocket与RESTAPI通信的客户端凭据更好吗?(使用刷新令牌)如果WebSocket为OAuth2创建新的客户机(然后将access_令牌发送到希望与REST服务器通信的Java服务器),这是一个好主意吗?(==>每个Java服务器一个访问令牌)还是对所有Java服务器使用一个访问令牌更好?您需要的授权与您的服务器端方案或协议无关。重要的部分是信任模型。谁信任谁?您是否有第三方或控制所有客户?你有用户吗?是浏览器还是其他服务器在进行身份验证?这些问题的答案决定了授权类型这里有一个指南可能会有所帮助:感谢您的帮助,经过一些搜索,有不同的身份验证方式:客户端凭据、授权码授权、用户凭据和隐式授权。在我的例子中,WebSocket与RESTAPI通信的客户端凭据更好吗?(使用刷新令牌)如果WebSocket为OAuth2创建新的客户机(然后将access_令牌发送到希望与REST服务器通信的Java服务器),这是一个好主意吗?(==>每个Java服务器一个访问令牌)还是对所有Java服务器使用一个访问令牌更好?您需要的授权与您的服务器端方案或协议无关。重要的部分是信任模型。谁信任谁?您是否有第三方或控制所有客户?你有用户吗?是浏览器还是其他服务器在进行身份验证?这些问题的答案决定了补助金的类型这里有一个指南可能会有所帮助: