Django-allauth - URL isn't included in the app's domains - python

I'm trying to set Facebook login and registration on my web page (localhost for now).
Installed allauth
Set settings.py
Created an facebook app
And now, when I click on http://127.0.0.1:8000/accounts/login/ facebook href, it returns this alert:
Can't Load URL: The domain of this URL isn't included in the app's
domains. To be able to load this URL, add all domains and subdomains
of your app to the App Domains field in your app settings.
According to sites, I've set domain name (in Django-admin Sites) to
localhost
What should I do to make it work?

Related

Import WordPress sitemaps into Django sitemaps

I am trying to refer to the WordPress blog through my sub domain. example -
blog.example.com
WordPress is hosted on GoDaddy
My main app (main domain) is on Django (hosted on Heroku). Have site maps set up on Django apps as well under:
example.com/site maps.xml
How do I integrate the two sitemaps so that when I go to example.com/site maps.xml I should see sitemaps from both? Is there a way?

Flask: Turn on DEBUG only for web views blueprint

In a flask app I'm developing, I have some web views, which return a normal web page content and an API blueprint. For development configuration, I turn on debug, which is handy to see the backtrace in a browser:
DEBUG = True
However, this also applies to the API blueprint. Dumping HTML content into the console when doing a request through httpie is not very nice. Is there a way to have debug only for the web views and not for the APIs?

Redirect example.com users to example.com/#/login

I am working on a project that uses Django and Angular. I do not have a background as a web developer so please try to explain your answer so that a novice person can understand it.
Basically I want to make it so that the login page is the default page instead of the index page.
I currently have the following url handler in my main Django project urls.py:
url(r'^$', 'core.views.generic.index')
I also have another urls.py in an app called core that sends visitors to the login page:
url(r'^/login$', private.MeLogin.as_view())
Now I want the login page to become the default page instead if the index page. How can I do that?
I have tried adding the following the the views file in the core app:
#login_required(redirect_field_name='', login_url='#/login')
def index(request):
return render_to_response('html/index.html', locals(), context_instance=RequestContext(request))
Unfortunately I get the message
This webpage has a redirect loop
I do not know how to solve this problem. Basically I want users to be redirected to the login page if they enter any URL that is not handled by other URL handlers. When they successfully log in they are redirected to a dashboard page automatically.
EDIT:
The login page URL is handled in the core urls.py file and points to a different view than index.
url(r'^/login$', private.MeLogin.as_view())
Web servers, in this case Django, do not see the fragment after the #. You are redirecting from / to /, creating a redirect loop.
If you want to redirect to the Django login url, you need login_url='/login'.
As an aside, you should remove the leading slash from your regex r'^/login$.
In #login_required(redirect_field_name='', login_url='#/login')
remove redirect_field_name='', it really is not neccessary and make sure that #/login in login_url='#/login is the same as in your url.py file:
like
views.py
#login_required(redirect_field_name='', login_url='accounts/login/')
as
url.py
url(r'^accounts/login/', auth_views.login),
I assume your Angular & Django apps are running in two seperate ports, like:
Django on port 8000
Angular on port 1000
So if you give /#/login it will redirect for the same with Django port (8000/#/login).
So why don't you give the full URL www.example.com/#/login?

Django login with facebook Error: Given URL is not allowed by the Application configuration

I am tired of this issue, please somebody can explain me where am I wrong?
I installed django-social-auth and add settings.py to installed apps :
'social_auth'
I added these lines to settings.py:
AUTHENTICATION_BACKENDS = ( 'social_auth.backends.facebook.FacebookBackend',
'social_auth.backends.contrib.github.GithubBackend',
'django.contrib.auth.backends.ModelBackend',)
SOCIAL_AUTH_COMPLETE_URL_NAME = 'socialauth_complete'
SOCIAL_AUTH_ASSOCIATE_URL_NAME = 'socialauth_associate_complete'
SOCIAL_AUTH_COMPLETE_URL_NAME = 'socialauth_complete'
SOCIAL_AUTH_ASSOCIATE_URL_NAME = 'socialauth_associate_complete'
SOCIAL_AUTH_RAISE_EXCEPTIONS = False
SOCIAL_AUTH_FORCE_POST_DISCONNECT = True
SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL = True
SOCIAL_AUTH_USER_MODEL = 'auth.User'
FACEBOOK_APP_ID = '11036686*****'
FACEBOOK_API_SECRET = '6290e378b078cc0cad*******'
SOCIAL_AUTH_ENABLED_BACKENDS = ('facebook', 'github')
context_processors :
'social_auth.context_processors.social_auth_by_name_backends',
'social_auth.context_processors.social_auth_backends',
'social_auth.context_processors.social_auth_by_type_backends',
'social_auth.context_processors.social_auth_login_redirect',
Then I go to facebook developers page and add:
appdomains:
localhost
Site URL
http://localhost:8000/
And
I click Embedded browser OAuth Login and enabled.
And I am getting this error:
Given URL is not allowed by the Application configuration: One or more of the given URLs is not allowed by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the App's domains.
What am I missing? Thanks for help.
Try to run your server as ./manage.py runserver localhost:8000
and in your browser go to localhost:8000 instead of http://127.0.0.1:8000/

Facebook authentication error in Heroku based django website

I have fully created a Django website with python-social-auth for facebook authentication and have hosted it on heroku(free version). The problem however is,that my Facebook authentication,which was working perfectly locally,is not working and it throws an error as follows:-
Given URL is not allowed by the Application configuration: One or more of the given URLs is not allowed by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the App's domains.
I have configured my facebook settings , wherein the site url is the one hosted on heroku (https://quiet-hamlet-3248.herokuapp.com/). Also,I haven't changed my API keys/secret.
Any help would be appreciated.
So I just figured it out.
As mentioned here , one needs to update his settings file to include the line SOCIAL_AUTH_REDIRECT_IS_HTTPS = True
This is because heroku fails to pass the headers required to identify the app.

Categories