我试图使用令牌身份验证没有成功。我想知道是否有人成功做到了,因为ApiRTC官方文档在该主题上很薄弱。

1)我已在-凭据屏幕下方激活了密钥

2)对于令牌验证,我已经通过API设置了服务-令牌身份验证屏幕

3)我有下面的代码来创建用户代理

function createUserAgent(token) {
    ua = new apiRTC.UserAgent({
        uri: 'token:' + token
    });

    ua.register({
        id : useragentId
    }).then(uaRegistered)
    .catch(function (error) {
        console.log("Registration error");
    });
}

function uaRegistered(session) {
        console.log("Registration OK");
}


4)这会将请求初始化为以下地址。它失败并显示HTTP 401

GET https://cloud.apizee.com/api/v2/checkToken?token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhNWQxN2M1ZTVjOWZkYmRiNDJhYTgzMTJlMWQxMmEwYiIsImF1ZCI6ImFwaVJUQyIsImp0aSI6ImE5ZjU4NmNlLTcxMDctNDgxMS04ODYwLTQ5MjY4ODY2NjhiYiIsImlhdCI6MTU1OTg5OTA5MSwiZXhwIjoxNTU5OTAyNjkxLCJncmFudHMiOnsiaWRlbnRpdHkiOiJjbGk5OTQxOTgxNTgifX0.ZfQs_HgUXOWhCAlXB6fTMKhbT-pFslb9MK_JvXu2U5A 401(未经授权)

5)我还看到没有对我的令牌验证服务进行任何请求。

谢谢

编辑:根据答案更新

function createUserAgent(token) {

    apiRTC.setLogLevel(apiRTC.LOG_LEVEL_DEBUG);

    var registerInformation = {};
    registerInformation.id = useragentId;
    registerInformation.token = token;


    ua = new apiRTC.UserAgent({
            uri: 'apzkey:a5d17c5e5c9fdbdb42aa8312e1d12a0b'
    });

    $("#sessionStatus").text("Waiting for register response ");

    ua.register(registerInformation).then(uaRegistered)
    .catch(function (error) {
        debugger;
        console.log("Registration error");
        $("#sessionStatus").text("Failed to register UA");
    });

}

function uaRegistered(session) {
        debugger;
        console.log("Registration OK");
        connectedSession = session;
        $("#useragentId").text(useragentId);
        $("#sessionUsername").text(session.getUsername());
        $("#sessionStatus").text("Connected");

        debugger;
}

最佳答案

感谢您在文档中指出此问题,我们已经在此处进行了首次更新,以使用外部验证服务:

https://dev.apirtc.com/authentication/index

在客户端,您需要使用以下代码:

    registerInformation.token = "myToken"

    ua.register(registerInformation).then(function(session) {
        // Save session
        connectedSession = session;
    }).catch(function(error) {
        // error
        console.error('User agent registration failed', error);
    });


uri中令牌的用途是用于Apizee产品上的用户身份验证

关于javascript - ApiRTC token 认证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56491660/

10-10 16:16