Skip to content

Commit b60d813

Browse files
committed
Merge pull request jaliss#372 from paiou/linkedin-oauth2-email
LinkedInOAuth2Provider: retrieve email address and add sample configuration
2 parents 9a5010b + e85be71 commit b60d813

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

module-code/app/securesocial/core/providers/LinkedInOAuth2Provider.scala

+5-2
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,15 @@ class LinkedInOAuth2Provider(application: Application) extends OAuth2Provider(ap
5353
val lastName = (me \ LastName).asOpt[String].getOrElse("")
5454
val fullName = (me \ FormattedName).asOpt[String].getOrElse("")
5555
val avatarUrl = (me \ PictureUrl).asOpt[String]
56+
val emailAddress = (me \ EmailAddress).asOpt[String]
5657

5758
SocialUser(user).copy(
5859
identityId = IdentityId(userId, id),
5960
firstName = firstName,
6061
lastName = lastName,
6162
fullName= fullName,
62-
avatarUrl = avatarUrl
63+
avatarUrl = avatarUrl,
64+
email = emailAddress
6365
)
6466
}
6567
}
@@ -73,7 +75,7 @@ class LinkedInOAuth2Provider(application: Application) extends OAuth2Provider(ap
7375
}
7476

7577
object LinkedInOAuth2Provider {
76-
val Api = "https://api.linkedin.com/v1/people/~:(id,first-name,last-name,formatted-name,picture-url)?format=json&oauth2_access_token="
78+
val Api = "https://api.linkedin.com/v1/people/~:(id,first-name,last-name,formatted-name,picture-url,email-address)?format=json&oauth2_access_token="
7779
val LinkedIn = "linkedin"
7880
val ErrorCode = "errorCode"
7981
val Message = "message"
@@ -84,4 +86,5 @@ object LinkedInOAuth2Provider {
8486
val LastName = "lastName"
8587
val FormattedName = "formattedName"
8688
val PictureUrl = "pictureUrl"
89+
val EmailAddress = "emailAddress"
8790
}

samples/scala/demo/conf/securesocial.conf

+9
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,15 @@ securesocial {
153153
consumerSecret=your_consumer_secret
154154
}
155155

156+
# LinkedIn OAuth2 sample configuration
157+
# Change line in play.plugins from securesocial.core.providers.LinkedInProvider to securesocial.core.providers.LinkedInOAuth2Provider
158+
#linkedin {
159+
# authorizationUrl="https://www.linkedin.com/uas/oauth2/authorization"
160+
# accessTokenUrl="https://www.linkedin.com/uas/oauth2/accessToken"
161+
# clientId=your_client_id
162+
# clientSecret=your_client_secret
163+
#}
164+
156165
github {
157166
authorizationUrl="https://github.com/login/oauth/authorize"
158167
accessTokenUrl="https://github.com/login/oauth/access_token"

0 commit comments

Comments
 (0)