feathersjs / feathers

The API and real-time application framework
https://feathersjs.com
MIT License
15.02k stars 745 forks source link

fix(authentication-oauth): Update OAuth redirect to handle user requested redirect paths #3186

Closed engineertdog closed 1 year ago

engineertdog commented 1 year ago

This PR fixes an issue with the redirect functionality for authentication-oauth. If a user had set origins in their configuration, and attempted to redirect to a different page on the client side by using a link in the format of oauth/<name>/?redirect=my/path?, the redirect would only send them to the path of the origin myorigin/#access_token.

The problem was the variable the separator variable used to determine how to build the resulting URL. An addition test was added to verify the issue. With the change, if the user has an origin of http://localhost:8080 and a frontend application that uses OAuth with oauth/<name>/?redirect=my/path, they will be redirected properly to http://localhost:8080/my/path?access_token.

daffl commented 1 year ago

Great catch! Will go out with the next patch release.