Получение 403, ошибка при использовании частных каналов с трансляцией laravel

Это универсальное решение, которое делает именно то, что вы хотите, в каждом браузере, который является 100% программным, до свидания гигантской статической таблицы имен и шестнадцатеричных значений!:

// Here is the solution tied together as a native String native extension using 
// MooTools, though you can implement the same thing in whatever framework you prefer:

(function(String){

var valueMatch = {
        'rgb(0,0,0)': { 'black': ' ', 'rgb(0,0,0)': ' ' },
        'rgba(0,0,0,0)': { 'transparent': ' ', 'rgba(0,0,0,0)': ' ' },
        '#ffffff': { 'transparent': ' ' },
        'transparent': { 'transparent': ' ' }
    },
    colorFromProbe = function(color){
        color = color.toString();
        if(!color.match(/^#.+$|^[^0-9]+$/)) return color;
        var probe = ($('moo_color_probe') || new Element('textarea', {
                'id': 'moo_color_probe',
                'styles': {
                    'display': 'none',
                    'color': 'transparent'
                }
            }).inject(document.body, 'after'));
        try{ probe.setStyle('color', color) } catch(e){ return color } //IE throws an error instead of defaulting the style to some color or transparent when the value is unrecognized
        var computed = (Browser.ie) ? ieColorToHex(probe) : (Browser.opera) ? probe.style.color : probe.getComputedStyle('color'),
            match = valueMatch[computed.replace(/ /g, '')];
        probe.setStyle('color', 'transparent');
        if((!Browser.ie || Browser.ie9) && color == 'transparent' && (match && match['transparent'])) return 'rgba(0, 0, 0, 0)';
        return (computed == 'transparent' || match && !match[color.replace(/ /g, '')]) ? color : computed;
    },
    ieColorToHex = function(probe){ // Special IE mojo, thanks to Dean Edwards for the inspiration, his code used a pop-up window to test the color, I found you can simply use a textarea instead ;)
        var value = probe.set('value', '').createTextRange().queryCommandValue("ForeColor");
        value = (((value & 0x0000ff) << 16) | (value & 0x00ff00) | ((value & 0xff0000) >>> 16)).toString(16);
        return "#000000".slice(0, 7 - value.length) + value;
    };

    String.implement({
        colorToRgb: function(){
            var color = colorFromProbe(this);
            return (color.charAt(0) == '#') ? color.hexToRgb() : color;
        },
        colorToHex: function(){
            var color = colorFromProbe(this);
            return (color.test('rgb')) ? color.rgbToHex() : color;
        }
    });

})(String);    

Более полное объяснение и живое пример можно найти здесь: http://www.backalleycoder.com/2010/10/05/converting-css-named-colors-to-rgb-and-hex/

0
задан john 29 January 2019 в 09:09
поделиться

1 ответ

Это просто ошибка ошибки аутентификации, я использую токены для аутентификации в своем приложении, но теперь мне нужно было также передать этот токен, выданный пользователю, в vue-echo.

А также изменить:

Broadcast::routes();

на

Broadcast::routes(['middleware' => ['auth:api']]);

, так как я создаю одностраничное приложение, следовательно, использую Axios для аутентификации, которая поэтому интерпретирует меня с помощью промежуточного программного обеспечения API ,

Руководствуясь ответом, предоставленным Алексом на вопрос «Laravel / broadcasting / auth Всегда терпит неудачу с ошибкой 403» Вы можете получить более подробную информацию там.

Спасибо всем.

0
ответ дан john 29 January 2019 в 09:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: