To enable the OAuth 2.0 based Social Login support several Login Providers are available. Each login provider implements the specific logic needed to authenticate a user with the corresponding
OAuth 2.0 provider (Facebook, Google, LiveId, etc). The following topic will dive into each separate login provider explaining its API.
The LiveIdLoginProvider class
The LiveIdLoginProvider class resides in the Telerik.Windows.Controls.Cloud.dll assembly in the Telerik.Windows.Controls.Cloud namespace.
This class implements the logic needed to successfully perform a LiveId authentication procedure. The following properties are exposed by LiveIdLoginProvider:
- ClientId - the Cliend ID identifies the LiveId application through which the authentication procedure will take place.
- ClientSecret - the Client Secret is needed to request an access token after the OAuth 2.0 provider has successfully identified your user.
- Scopes - this property accepts a comma separated list of LiveId scope definitions which describe what types of permissions will be required from your users by your LiveId app to perform a successful authentication. By default, this property is initialized
with the wl.signin scope from the Live ID scopes definitions.
- Icon - this property points to a default image which will be used to represent the login provider in RadCloudLogin. You can overwrite this property pointing to a resource within your own project if you need to.
- AccessToken - this property gets the Access Token acquired by the OAuth 2.0 provider at the end of the login procedure. It is used by RadCloudLogin to perform a login
procedure with the corresponding Cloud Provider initialized with Telerik Cloud Controls for Windows Phone.
You can read more about the OAuth 2.0 implementation by the Live services here:
http://msdn.microsoft.com/en-us/library/live/hh243647.aspx
The GoogleLoginProvider class
The GoogleLoginProvider class resides in the Telerik.Windows.Controls.Cloud.dll assembly in the Telerik.Windows.Controls.Cloud namespace.
This class implements the logic needed to successfully perform a Google based authentication procedure. The following properties are exposed by GoogleLoginProvider:
- ClientId - the Cliend ID identifies the Google application through which the authentication procedure will take place.
- ClientSecret - the Client Secret is needed to request an access token after the OAuth 2.0 provider has successfully identified your user.
- Scopes - this property accepts a comma separated list of Google scope definitions which describe what types of permissions will be required from your users by your LiveId app to perform a successful authentication. By default, this property is initialized
with the https://www.googleapis.com/auth/userinfo.email scope from the Google scope definitions.
- Icon - this property points to a default image which will be used to represent the login provider in RadCloudLogin. You can overwrite this property pointing to a resource within your own project if you need to.
- AccessToken - this property gets the Access Token acquired by the OAuth 2.0 provider at the end of the login procedure. It is used by RadCloudLogin to perform a login
procedure with the corresponding Cloud Provider initialized with Telerik Cloud Controls for Windows Phone.
You can read more about the OAuth 2.0 implementation by the Google services here:
https://developers.google.com/accounts/docs/OAuth2InstalledApp
The FacebookLoginProvider class
The FacebookLoginProvider class resides in the Telerik.Windows.Controls.Cloud.dll assembly in the Telerik.Windows.Controls.Cloud namespace.
This class implements the logic needed to successfully perform a Facebook based authentication procedure. The following properties are exposed by FacebookLoginProvider:
- ClientId - the Client Id (application Id in Facebook terminology) identifies the Facebook application through which the authentication procedure will take place.
- Scopes - this property accepts a comma separated list of Facebook scope definitions which describe what types of permissions will be required from your users by your LiveId app to perform a successful authentication. By default, this property is initialized
with the email scope from the Facebook scope definitions.
- Icon - this property points to a default image which will be used to represent the login provider in RadCloudLogin. You can overwrite this property pointing to a resource within your own project if you need to.
- AccessToken - this property gets the Access Token acquired by the OAuth 2.0 provider at the end of the login procedure. It is used by RadCloudLogin to perform a login
procedure with the corresponding Cloud Provider initialized with Telerik Cloud Controls for Windows Phone.
You can read more about the OAuth 2.0 implementation by the Facebook services here:
http://developer.nokia.com/Community/Wiki/Facebook_authentication_in_Windows_Phone_application