Невозможно получить / неявный / обратный вызов - PullRequest
0 голосов
/ 28 апреля 2018

Я интегрирую okta в свое приложение для SSO, я выполнил шаги, упомянутые в руководстве разработчика okta

Вот мой index.js

import React, { Component } from 'react';
import { BrowserRouter as Router, Route } from 'react-router-dom';
import { Security, ImplicitCallback } from '@okta/okta-react';
import HomePage from './components/home/HomePage';
import ReactDOM from 'react-dom';

const config = {
  issuer: 'https://XXX.oktapreview.com',
  redirect_uri: window.location.origin + '/implicit/callback',
  client_id: '0oxxxxxxxxxxxxx7'
}

class App extends Component {
  render() {
    return (
      <Router>
        <Security issuer={config.issuer}
                  client_id={config.client_id}
                  redirect_uri={config.redirect_uri}
        >
          <Route path='/' exact={true} component={HomePage}/>
          <Route path='/implicit/callback' component={ImplicitCallback}/>
        </Security>
      </Router>
    );
  }
}

ReactDOM.render(<App/>, document.getElementById('app'));

постоянно получая Cannot GET / неявный / callback. Моя конфигурация приложения в okta выглядит так: введите описание изображения здесь

Я предполагаю, что что-то не так с конфигурацией webpack.

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

/implicit/callback - это просто еще один маршрут. Вы можете просто добавить google.com, и он будет перенаправлен на это. Это мой компонент от Okta реагирует на пробу и все работает. надеюсь, это поможет

import React, { Component } from 'react';
import { BrowserRouter as Router, Route } from 'react-router-dom';
import { Security, SecureRoute, ImplicitCallback } from '@okta/okta-react';
import Home from './Home';
import Login from './Login';
import Protected from './Protected';
import Sprotected from './Sprotected';

function onAuthRequired({history}) {
  history.push('/login');
}

class App extends Component {
  render() {
    return (
      <Router>
        <Security issuer='https://mytrainingcompany.okta.com/oauth2/default'
                  client_id='0oa88p4tcET4KPJwg2p6'
                  redirect_uri={window.location.origin + '/implicit/callback'}
                  onAuthRequired={onAuthRequired} >
          <Route path='/' exact={true} component={Home} />
          <SecureRoute path='/protected' component={Protected} />
          <SecureRoute path='/pro' component={Sprotected} />
          <Route path='/login' render={() => <Login baseUrl='https://mytrainingcompany.okta.com' />} />
          <Route path='/implicit/callback' component={ImplicitCallback} />
        </Security>
      </Router>
    );
  }
}

export default App;
0 голосов
/ 29 апреля 2018

похоже на проблему только с веб-пакетом, когда я удалил, publicPath: '/' он работал как минимум локально, но все еще не в рабочей среде

output: {
        path: __dirname + '/dist',
        filename: "index_bundle.js",
        publicPath: '/',
        crossOriginLoading: 'anonymous'
    }

Кто-нибудь сталкивался с этим раньше?

...