diff --git a/src/main/scala/code/lib/ObpAPI.scala b/src/main/scala/code/lib/ObpAPI.scala
index ce9f7f5e..d5629778 100644
--- a/src/main/scala/code/lib/ObpAPI.scala
+++ b/src/main/scala/code/lib/ObpAPI.scala
@@ -57,7 +57,9 @@ object ObpAPI extends Loggable {
}
}
-
+ def currentUser : Box[CurrentUserJson]= {
+ ObpGet("/v2.0.0/users/current").flatMap(_.extractOpt[CurrentUserJson])
+ }
@@ -534,6 +536,13 @@ object ObpJson {
full_name: Option[String],
logo: Option[String],
website: Option[String])
+
+ case class CurrentUserJson(user_id: String,
+ email: String,
+ provider_id: String,
+ provider: String,
+ display_name: String
+ )
case class UserJson(id: Option[String],
provider: Option[String],
diff --git a/src/main/scala/code/snippet/Login.scala b/src/main/scala/code/snippet/Login.scala
index 01e266ab..712a80ee 100644
--- a/src/main/scala/code/snippet/Login.scala
+++ b/src/main/scala/code/snippet/Login.scala
@@ -36,7 +36,7 @@ import net.liftweb.http.js.JsCmd
import net.liftweb.util.Helpers
import Helpers._
import net.liftweb.http.SHtml
-import code.lib.OAuthClient
+import code.lib.{ObpAPI, OAuthClient}
import net.liftweb.http.js.JsCmds.Noop
class Login {
@@ -44,6 +44,7 @@ class Login {
// TODO show currently logged-in user / name
private def loggedIn = {
".logged-out *" #> "" &
+ ".username *" #> ObpAPI.currentUser.map(u => u.display_name) &
"#logout [onclick+]" #> SHtml.onEvent(s => {
OAuthClient.logoutAll()
Noop
diff --git a/src/main/webapp/templates-hidden/default.html b/src/main/webapp/templates-hidden/default.html
index 8ac5dc41..7d48e779 100755
--- a/src/main/webapp/templates-hidden/default.html
+++ b/src/main/webapp/templates-hidden/default.html
@@ -80,6 +80,7 @@ along with this program. If not, see www.gnu.org/licenses/
+