Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to deal with arbitrary amount of redirect URIs?

Tags:

google-oauth

I'm developing an application where the users have their own URLs, and they need to use Google API - of course with different redirect URIs, like

  • www.example.com/johndoe/google/login
  • www.example.com/foobar/google/login

So first I thought I could simply solve this problem by using wildcards (www.example.com/*/google/login), but it unfortunately doesn't work that way. Then I started to code a simple proxy in Perl, but I'm not sure it would work and we're running out of time. What is the best way to deal with the situation? I thought about adding a new redirect URI to the console from the registration handler, but I didn't find any way the server could do this.

like image 529
r1pp3rj4ck Avatar asked Jan 22 '13 10:01

r1pp3rj4ck


People also ask

What should be the redirect URI?

A redirect URI, or reply URL, is the location where the authorization server sends the user once the app has been successfully authorized and granted an authorization code or access token.

What is Google Authorized redirect URIs?

The redirect URIs are the endpoints to which the OAuth 2.0 server can send responses. These endpoints must adhere to Google's validation rules. For testing, you can specify URIs that refer to the local machine, such as http://localhost:8080 .

What is a redirect URL for OAuth?

The redirect URL is the endpoint for your application or web page that processes the seller authorization response and manages the seller's OAuth tokens. You need to add this URL to your application using the Developer Dashboard.


1 Answers

Wildcards are not supported in Google OAuth2 redirect URIs. I think your best best is to use a single redirect URI, and pass in the user information in the state parameter. The state parameter is returned to you in response. Then, when you receive the authorization code/tokens, you can lookup the state parameter and handle the response appropriately (e.g., redirect to your user-specific URLs).

This answer has more information.

like image 166
vlatko Avatar answered Oct 13 '22 11:10

vlatko