You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have my front-end separated from my loopback application and I am trying to implement authentication through passport.
However I receive the following error (after it is making a GET request to https://myapi.com/auth/thirdparty/twitter):
Request GET /auth/thirdparty/twitter failed with status code 500. InternalServerError: Error: OAuth authentication requires session support. Did you forget to use express-session middleware?
The only adjustment I have made is to remove the web-application folder from the loopback-passport example repository.
I then tried to integrate it with my React JS application.I made slight modifications to the src/controllers/oauth2.controller.ts:
@authenticate('oauth2')
@get('/auth/thirdparty/{provider}')/** * This method uses the @authenticate decorator to plugin passport strategies independently * * Endpoint: '/auth/thirdparty/{provider}' * an endpoint for api clients to login via a third party app, redirects to third party app */loginToThirdParty(
@param.path.string('provider')provider: string,
@inject(AuthenticationBindings.AUTHENTICATION_REDIRECT_URL)redirectUrl: string,
@inject(AuthenticationBindings.AUTHENTICATION_REDIRECT_STATUS)status: number,
@inject(RestBindings.Http.RESPONSE)response: Response,){return{redirectUrl: redirectUrl};}
@oAuth2InterceptExpressMiddleware()
@get('/auth/thirdparty/{provider}/callback')/** * This method uses the passport strategies as express middleware * * Endpoint: '/auth/thirdparty/{provider}/callback' * an endpoint which serves as a oauth2 callback for the thirdparty app * this endpoint sets the user profile in the session */asyncthirdPartyCallBack(
@param.path.string('provider')provider: string,
@inject(SecurityBindings.USER)user: UserProfile,
@inject(RestBindings.Http.REQUEST)request: Request,
@inject(RestBindings.Http.RESPONSE)response: Response,){// const profile = {// ...user.profile,// };// request.session.user = profile;// response.redirect('/auth/account');returnresponse;}
In src/authentication-strategy-providers/twitter.express-mv.ts I also tried to set session to false:
apfz
changed the title
How to integrate passport authentication without nextjs?
How to integrate passport authentication without express web app?
Oct 24, 2023
Describe the bug
I have my front-end separated from my loopback application and I am trying to implement authentication through passport.
However I receive the following error (after it is making a GET request to
https://myapi.com/auth/thirdparty/twitter
):Request GET /auth/thirdparty/twitter failed with status code 500. InternalServerError: Error: OAuth authentication requires session support. Did you forget to use express-session middleware?
The only adjustment I have made is to remove the web-application folder from the loopback-passport example repository.
I then tried to integrate it with my React JS application.I made slight modifications to the src/controllers/oauth2.controller.ts:
In
src/authentication-strategy-providers/twitter.express-mv.ts
I also tried to set session to false:but unfortunately no luck.
Any support is welcome!
Logs
No response
Additional information
No response
Reproduction
The text was updated successfully, but these errors were encountered: