Получите ошибку 401 Не авторизовано при получении данных с помощью Active Directory

Я пытаюсь интегрировать плагин Active Directory ADAL в свое приложение Reactjs, но получаю сообщение об ошибке 401 (Unauthorized) при получении результатов.

Я выполнял шаги Реагировать на пакет ADAL, пока не нашел ТАК вопрос, который мне очень помог, но все же я получаю ошибку CORS при извлечении данных Dynamics CRM.

Когда я нажимаю на защищенный маршрут, меня перенаправляют на https://login.microsoftonline.com/<someid>/oauth2/authorize?response_type=id_token&client_id=..., а затем обратно на страницу.

Это часть моего компонента Мой Компонент:

import React, { Component } from 'react';
import { adalApiFetch } from '../../../adalConfig';

class MyComponent extends Component {
    constructor(props) {
        super(props);

        this.state = { APIResponse: '' };
        this.getLeads = this.getLeads.bind(this);
    }

    componentDidMount() {
        this.getLeads();
    }

    getLeads() {
        let result;

        adalApiFetch(fetch, 'https://myorg.api.crm.dynamics/api/', options)
        .then(response => response.json())
        .then(data => {
            this.setState(Object.assign(this.state, { APIResponse: data }));
            console.info(data); 
        }).catch(error => console.error('SERVER ERROR:', error));

    }

    render() {
        return (
            <div>
                <h2>My Component</h2>
            </div>
        );
    }
}

export default MyComponent;

Я получаю эту ошибку 401 (Unauthorized) в DevTools:

Ошибка сервера:

SERVER ERROR: SyntaxError: Unexpected end of JSON input

Редактировать 1:

Это мой код adalConfig.js:

import { AuthenticationContext, adalFetch, withAdalLogin } from 'react-adal';

export const adalConfig = {
    tenant: 'tenantid',
    clientId: 'apiid',
    endpoints: {
        api: 'apiid'
    },
    cacheLocation: 'localStorage',
};

export const authContext = new AuthenticationContext(adalConfig);

export const adalApiFetch = (fetch, url, options) => adalFetch(authContext, adalConfig.endpoints.api, fetch, url, options);

export const withAdalLoginApi = withAdalLogin(authContext, adalConfig.endpoints.api);

Любые идеи о том, что здесь не так? Заранее спасибо.

Вы гарантируете, что заголовок авторизации установлен правильно?

MattjeS 06.02.2019 16:54

Я не совсем уверен, но я следовал всем шагам.

Martin Fernandez 06.02.2019 17:00

посмотрите в инструменты разработчика и посмотрите на заголовок запроса, вы должны увидеть заголовок авторизации с набором токенов-носителей

MattjeS 06.02.2019 17:02

Носитель присутствует в заголовке. i.imgur.com/bSpwsJ8.png

Martin Fernandez 06.02.2019 17:04
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
220
0

Другие вопросы по теме