Login form with uLogin widget
uLogin identities management
uLogin settings
uLogin tokens

uLogin service allows your users to login using their accounts at:

  • Facebook
  • Twitter
  • Vkontakte
  • Odnoklassniki
  • Mail.ru
  • Google
  • Yandex
  • Live Journal
  • OpenID
  • Windows Live ID
  • LinkedIn

Last.fm, SoundCloud, Steam, Flickr, Vimeo, YouTube, WebMoney, foursquare, tumblr, etc.

Demo

Features

  • New element - ulogin_widget - to use in any form or renderable array:
    if (module_exists('ulogin') && !user_is_logged_in()) {
      $element['#type'] = 'ulogin_widget';
      print drupal_render($element);
    }
  • Default widget settings are configurable through UI
  • Asynchronous loading of uLogin JS library
  • Selectable forms (user login form, user login block, user registration form, comment form) to add default uLogin widget to
  • Several widgets on one page will work just fine
  • Connect several uLogin identities to one account
  • Token integration - tokens are provided for user account created by uLogin to use with Realname and Rules
  • Rules integration - condition to check if user account was created by uLogin (both D6 and D7); events on adding and deleting uLogin identity to user account (D7 only)
  • Email Confirmation Change integration - if authentication provider doesn't provide email address and user enters it manually, set the temporary email address and trigger email confirmation process (D7 only)
  • Options to remove username and password fields from user profile edit form - these fields are not relevant for users created by uLogin
  • HTTPS support
  • Written in compliance with Drupal coding standards
  • Full compatibility with Legal and Email Registration modules (D7 only)

Required fields

If your site requires some information that can't be filled using data from authentication providers then you might want to use the Complete profile or Profile Fields Force Filling module.

Installation and Setup

  • Download, unpack and enable as any other Drupal module (Drupal 6 version depends on Realname module)
  • Configure uLogin settings at D7: 'admin/config/people/ulogin' or D6: 'admin/settings/ulogin'
  • Give permission to use uLogin to 'anonymous user' role (so that they can login using uLogin)
  • Give permission to use uLogin to any other role if you want your users to be able to attach identities to their accounts
  • (Drupal 7) Recommended - download and install Realname module to configure users display name (using provided tokens). This module creates unique machine generated usernames and sets default display name to be "first_name last_name"; using Realname module you can change that, and Realname also caches the result so it improves your site performance.
  • (Drupal 6) Drupal 6 version depends on Realname module - it provides display name functionality available in Drupal 7. This module sets the user's realname to be "first_name last_name" if you don't set Realname module to create display name using any other rule.

Custom icons

If you want to use custom icons for authentication providers then there is support for that in the 7.x-1.10 release:

  • download http://ulogin.ru/xd_custom.zip, unzip and put xd_custom.html file into the 'sites/all/libraries/ulogin' directory
  • select "Custom icons" widget type
  • specify the "Custom icons path" to the directory with your icons relative to Drupal root, like 'sites/default/files/ulogin_icons'
  • the above directory should contain images named like "provider_key.ext", for instance: facebook.png, twitter.jpg, etc. (all providers' keys are avaialble at uLogin custom buttons page)

Hooks

hook_ulogin_username_alter(&$name, $data) - Alter username for the user being created/registered by uLogin. The $data array contains all the information from authentication provider - you should use this info to create unique username.
By default, the username will be created using pattern 'ulogin_NETWORK_USERID' (USERID is the user ID in the network providing authentication) and this might not be the desired thing to do as this "ugly" username can still be exposed (even if you use Real name) if you use some contrib modules printing $user->name to the screen.
D7 version has a setting to change this default pattern (see this screenshot).
D6 version contains a submodule 'uLogin username' that implements the above hook and forces the 'first_name last_name' username pattern; it will add a counter to it if there are any username conflicts.

If you don't want to depend on a service

Use HybridAuth 7.x-2.x - it is very similar to this module, but works directly with authentication providers without involving any service (but requires you to create applications with authentication providers and set the application ID and secret). If you are unsure about which way to go - you can start with uLogin and then migrate to HybridAuth (HybridAuth module has the "HybridAuth uLogin" migration sub-module), there is no migration from HybridAuth to uLogin yet.

Similar modules (mostly external services based)

Project Information

Downloads