diff options
author | JoramWilander <jwawilander@gmail.com> | 2015-08-14 08:43:49 -0400 |
---|---|---|
committer | JoramWilander <jwawilander@gmail.com> | 2015-08-14 12:38:16 -0400 |
commit | b704e9489b21b3bec17f5c8b573a1724781ee6f7 (patch) | |
tree | 002f9fb35ce932800160bc45d91a50804bbb6594 /model | |
parent | e27db2ed63fd3c9c686c049a9b9049a907985ecc (diff) | |
download | chat-b704e9489b21b3bec17f5c8b573a1724781ee6f7.tar.gz chat-b704e9489b21b3bec17f5c8b573a1724781ee6f7.tar.bz2 chat-b704e9489b21b3bec17f5c8b573a1724781ee6f7.zip |
added google sign-in functionality to the client, with minor model modifications
Diffstat (limited to 'model')
-rw-r--r-- | model/google.go | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/model/google.go b/model/google.go index bdb500704..2a1eb3caa 100644 --- a/model/google.go +++ b/model/google.go @@ -6,6 +6,7 @@ package model import ( "encoding/json" "io" + "strings" ) const ( @@ -13,15 +14,20 @@ const ( ) type GoogleUser struct { - Id string `json:"id"` - Nickname string `json:"nickname"` - Emails []map[string]string `json:"emails"` - Names map[string]string `json:"name"` + Id string `json:"id"` + Nickname string `json:"nickname"` + DisplayName string `json:"displayName"` + Emails []map[string]string `json:"emails"` + Names map[string]string `json:"name"` } func UserFromGoogleUser(gu *GoogleUser) *User { user := &User{} - user.Username = gu.Nickname + if len(gu.Nickname) > 0 { + user.Username = gu.Nickname + } else { + user.Username = strings.ToLower(strings.Replace(gu.DisplayName, " ", "", -1)) + } user.FirstName = gu.Names["givenName"] user.LastName = gu.Names["familyName"] user.Nickname = gu.Nickname |