当用户访问我的应用程序时,我将他们重定向到我公司的身份验证网站,该网站对用户进行身份验证,然后重定向回我的应用程序。结果是使用有效的JWT将POST返回到我的React应用程序,但我不确定如何使用React路由器处理POST请求。理想情况下,我希望设置一个可以用来检索、验证和存储/response的JWT路径,但是仅仅添加路由似乎行不通。出现错误"Cannot POST /response“。我应该补充说,我不能让用户在我的应用程序中输入他们的凭据,然后使用ajax之类的东西来验证凭据和检索令牌。要求是将用户重定向到auth网站,并在成功登录后接受重定向。
index.js:
import 'semantic-ui-css/semantic.min.css'
import 'react-grid-layout/css/styles.css'
import 'react-resizable/css/styles.css'
import './index.css';
import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route } from 'react-router-dom'
import { AppProvider } from './context/app-context';
import Dashboard from './pages/Dashboard';
import Agent from './pages/Agent';
import Login from './pages/Login';
import history from './history';
import PrivateRoute from './components/PrivateRoute';
import registerServiceWorker from './registerServiceWorker';
ReactDOM.render(
<AppProvider>
<Router history={history}>
<React.Fragment>
<Route path="/login" component={ Login }/>
<Route path="/response" component={ Response }/>
<PrivateRoute exact path="/" component={ Dashboard }/>
<PrivateRoute exact path="/customer/:id" component={ Agent }/>
</React.Fragment>
</Router>
</AppProvider>,
document.getElementById('root'));
registerServiceWorker();
发布于 2018-08-16 03:38:07
我能够找到这个问题的原因。oauth2 authorize调用将response_mode设置为"form_post“而不是"form_get”。(oauth2/authorize?client_id=xxx&redirect_uri=https://localhost:3000/response&response_mode=form_post ...)
将值更改为form_get后,我的路由正常工作。
https://stackoverflow.com/questions/51860410
复制相似问题