小编Jas*_*son的帖子

Asterisk Java AGI:utils.c write()返回错误:管道损坏

我用Java编写了一个hello world Asterisk AGI脚本.脚本按预期运行并播放hello world声音文件,但是星号控制台发出错误:

错误[31058]:utils.c:1164 ast_carefulwrite:write()返回错误:管道损坏

知道我做错了什么吗?

我正在使用asterisk-java-0.3.1.jar和Asterisk 1.8.10.1~dfsg-1ubuntu1

Java类如下:

import org.asteriskjava.fastagi.AgiChannel;
import org.asteriskjava.fastagi.AgiException;
import org.asteriskjava.fastagi.AgiRequest;
import org.asteriskjava.fastagi.BaseAgiScript;

public class AgiHelloWorld extends BaseAgiScript 
{
    @Override
    public void service(AgiRequest arg0, AgiChannel arg1) throws AgiException 
    {
        answer();
        streamFile("hello-world");
        hangup();
    }
}
Run Code Online (Sandbox Code Playgroud)

java asterisk agi

6
推荐指数
1
解决办法
1万
查看次数

小型SPA的OAuth2隐式流与基于“传统”会话的身份验证

背景知识:

我正在写一个小型SPA,它将使用我也写过的后端。JS和后端API在同一服务器上。

即SPA将从foo.com加载,后端位于foo.com/api

过去,我一直将Spring Security与基于简单表单的登录一起使用。登录后,用户将获得一个会话cookie。很标准的东西。

对于这个应用程序,我研究了OAuth2隐式流程。我的理解是,用户将加载我的页面,然后从SPA引导用户到授权端点,以便我的应用程序可以获取令牌。用户将从授权端点重定向到登录表单。在用户使用表单进行身份验证之后,他们将被重定向回授权端点以获取令牌,并可能授予对JS客户端的访问权限。之后,将用户重定向到客户端指定的URL,并将新的访问令牌作为URL片段。

我有这项工作,一切都很好。我不太了解的部分是:当用户重定向到登录表单并进行身份验证时,将在服务器上创建一个会话,该会话必须至少持续足够长的时间,才能将用户重定向到授权端点以获取令牌。那时他们已经在我的服务器上拥有经过身份验证的会话,为什么不就此停止并使用传统的cookie和基于会话的登录呢?

authentication session session-cookies oauth-2.0 single-page-application

6
推荐指数
0
解决办法
373
查看次数