使用访问令牌保护奏鸣曲媒体的Web服务

时间:2017-07-07 15:15:51

标签: javascript ajax symfony symfony-sonata

我正在尝试使用oauth2中的api/providers/sonata.media.provider.file/media保护access_token API。

问题是我总是遇到以下错误:

  

“access_denied”error_description:“需要OAuth2身份验证”。

我的代码如下:

我的HTML:

 <div class="file-input__icon">
                            <label>
                                <i class="icon-upload"></i>
                                <form id="form-cv" method="post"
                                      action="api/providers/sonata.media.provider.file/media"
                                      enctype="multipart/form-data">
                                    <input type="hidden" name="context" value="default">
                                    <input id="file_input_file" class="file-input__file file-input__file--add"
                                           type="file"
                                           accept="application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/msword,image/x-eps,application/pdf"
                                           data-input-file="upload" name="binaryContent">
                                </form>
                            </label>
                        </div>

我的js:

 $("#form-cv").submit(function (event) {
            event.preventDefault();
            $("#form-cv").append('<input type="hidden" name="access_token" value="'+ window.localStorage.access_token +'"/>');
            $("#form-cv").append('<input type="hidden" name="token_type" value="'+ window.localStorage.token_type +'"/>');

            var $form = $(this),
                formdata = (window.FormData) ? new FormData($form[0]) : null,
                data = (formdata !== null) ? formdata : $form.serialize();

            window.console.log("----------------");
            window.console.log(data);

            window.commun.showloader([".file-input"]);
            $.ajax({
                url: window.back + $form.attr('action'),
                type: $form.attr('method'),
                // obligatoire pour de l'upload
                contentType: false,
                // obligatoire pour de l'upload
                processData: false,
                // selon le retour attendu
                dataType: 'json',
                data: data,
                success: function (response) {
                    window.uploadCv.getCv(response.id);
                }
            });
        });

你有什么建议吗?

0 个答案:

没有答案