Nginx: OAuth & Authentication

Viewed 1804

I'm having difficulty using Nginx's http_auth_request_module with dynamic, user specific URLs.

http://nginx.org/en/docs/http/ngx_http_auth_request_module.html

I need to authenticate (using OAuth 2) a user whenever they attempt to access their notifications. I've got an Nginx instance acting as a reverse proxy to an API (api.*) built on Django, and a Node server (notifications.*) for real-time notifications.

Assuming I can authorize requests (return 200 on success, 403 on failure) through my API at:

          api.example.com/authorize/user_id/ 'Authorization:Bearer user_access_token'

And the user's request is:

          notifications.example.com/user_id/ 'Authorization:Bearer user_access_token'

How would I dynamically take the user's request to the notifications subdomain, proxy it (including user ID & access token) to my API to authenticate, then continue proxying to notifications iff the user is authorized?

I think the problem really comes down to how do I dynamically set the auth_request URL with the request's user ID and access token. Any help would be greatly appreciated!

0 Answers
Related