I want to allow my company’s customers to integrate our Google App Engine application into their domains. For example, let’s say one customer owns the domain coolcustomer.com
and wants to make our app accessible at service.coolcustomer.com
.
This article discusses how to set up multi-tenancy internally, but does not mention how to associate client domains with an app.
Ideally, I’d like to allow customers to associate a sub-domain in a self-service manner. This, of course, brings up the issue of validating that the customer has permission to add a sub-domain to a domain name.
What is the best approach to accomplish this?
The customer will add your application as a service via their Google Apps control panel. Some of the details are outlined here.
To handle multi-tenancy you will probably want to use the server host name. From the host name, you'll be able to get the domain name to use for your namespace.
You'll have to handle validating the domain is a valid customer in your app. I would probably let them register, then provide instructions for setting up the Google Apps mapping.
If you want to allow them to login using Google Apps accounts tied to their domain you'll need to use OpenID (federated login).
来源:https://stackoverflow.com/questions/4135961/running-google-app-engine-application-on-multiple-customer-domains