现在,我尝试在环回项目上实现oauth2。
但是所有终结点的api受oauth2保护,我无法访问任何api。
当我尝试访问http://localhost:3000/oauth/authorize时, 我发现返回字符串
{"error":"server_error","error_description":"OAuth2orize requires session support. Did you forget app.use(express.session(...))?"}
我的代码在下面。
server / boot / oauth.js
module.exports = function(app) {
console.log('setup oauth2 server');
var oauth2 = require('loopback-component-oauth2');
var options = {
userModel: 'user',
resourceServer: true,
dataSource: app.dataSources.db,
authorizationServer: true,
authorizePath: '/oauth/authorize',
tokenPath: '/oauth/token',
loginPage: '/oauth/login',
loginPath: '/oauth/login',
loginFailPage: '/oauth/login?fail',
supportedGrantTypes: [
'implicit',
'jwt',
'clientCredentials',
'authorizationCode',
'refreshToken',
'resourceOwnerPasswordCredentials'
]
};
oauth2.oAuth2Provider(
app, // The app instance
options // The options
);
app.use(oauth2.authenticate(['/api/Subscribers'], { session: false, scope: 'Default' }));
};
我想找到解决方案。
为什么所有api端点都被oauth2阻止?
为什么oauth / author返回此类错误字符串?
那么有人发现并解决了这些问题吗?