Я пытаюсь реализовать oauth2 логин, чтобы реагировать на js, но я получаю ошибку - PullRequest
0 голосов
/ 08 октября 2019

Я создаю логин oauth2 в Django-rest framework и пытаюсь внедрить этот токен логина в реагировать на js, но все время получаю сообщение об ошибке, поэтому мне нужна помощь, как решить эту проблему. я использовал также grandtype и идентификатор клиента, но все равно получаю ошибку Вот изображение ошибки

 var _client_id = "hLloV1YL1XXHmbxst23GU72nAyLi8rCjMhr6cKVn";
    var _grant_type = "password";

    class Login extends Component {
    constructor(props) {
        super(props);
        this.state = {
          username: "",
          password: ""
        };
        this.handleChange = this.handleChange.bind(this);
        this.handleSubmit = this.handleSubmit.bind(this);
      }

      handleChange(event) {
        this.setState({
          [event.target.name]: event.target.value
        });
        console.log(this.state);
      }
      handleSubmit(event) {
        // const { username, password } = params;
        event.preventDefault();
        // let data =
        //   "grant_type=" +
        //   _grant_type +
        //   "&username=" +
        //   username +
        //   "&password=" +
        //   password +
        //   "&client_id=" +
        //   _client_id;
        const request = new Request("http://localhost:8001/api/1/oauth/token/", {
          method: "POST",
          headers: new Headers({
            "Content-Type": "application/x-www-form-urlencoded",
            Accept: "application/json",
            Authorization:
              "Bearer" +
              btoa("someclientid:hLloV1YL1XXHmbxst23GU72nAyLi8rCjMhr6cKVn")
          }),
          body: JSON.stringify({
            username: this.state.username,
            password: this.state.password,
            grant_type: _grant_type,
            client_id: _client_id
          })
        });
        return fetch(request)
          .then(response => {
            if (response.status < 200 || response.status >= 300) {
              throw new Error(response.statusText);
            }
            return response.json();
          })
          .then(({ access_token }) => {
            localStorage.setItem("token", access_token);
            this.props.history.push("/dashboard");
          });
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...