names = request.user.social_auth.values_list('provider', flat=True)
ctx = dict((name.lower().replace('-', '_'), True) for name in names)
ctx['version'] = version
+ ctx['last_login'] = request.session.get('social_auth_last_login_backend')
return render_to_response('done.html', ctx, RequestContext(request))
def error(request):
<tr class="odd"><th>Email:</th> <td>{{ user.email|default:"Not provided" }}</td></tr>
<tr class="even"><th>First name:</th> <td>{{ user.first_name|default:"Not provided" }}</td></tr>
<tr class="odd"><th>Last name:</th> <td>{{ user.last_name|default:"Not provided" }}</td></tr>
+ <tr class="even"><th>Last login backend:</th> <td>{{ last_login }}</td></tr>
</table>
</div>
DEFAULT_REDIRECT = getattr(settings, 'SOCIAL_AUTH_LOGIN_REDIRECT_URL', '') or \
getattr(settings, 'LOGIN_REDIRECT_URL', '')
+SOCIAL_AUTH_LAST_LOGIN = getattr(settings, 'SOCIAL_AUTH_LAST_LOGIN',
+ 'social_auth_last_login_backend')
def auth(request, backend):
if social_user.expiration_delta():
request.session.set_expiry(social_user.expiration_delta())
url = request.session.pop(REDIRECT_FIELD_NAME, '') or DEFAULT_REDIRECT
+
+ # store last login backend name in session
+ request.session[SOCIAL_AUTH_LAST_LOGIN] = social_user.provider
else:
url = getattr(settings, 'LOGIN_ERROR_URL', settings.LOGIN_URL)
return HttpResponseRedirect(url)