Set the date when user last updated his profile on the OAuth2 server.
public setLastUpdateTime ( integer $timestamp ) | ||
$timestamp | integer | Timestamp in milliseconds. |
/** * @param OAuth2User $u * * @dataProvider dataProvider */ public function testSetGetLastUpdateTime($u) { $time = time(); $u->setLastUpdateTime($time); $this->assertSame($time, $u->getLastUpdateTime()); $this->assertSame($time, $u->lastUpdated); }
/** * This method is called automatically when the OAuth2 server returns a response containing user details. * The method should process the response an return and instance of OAuth2User. * * @param array $result OAuth2 server response. * * @return OAuth2User * @throws \Webiny\Component\OAuth2\OAuth2Exception */ public function processUserDetails($result) { $result = $this->arr($result['result']); if ($result->keyExists('error')) { throw new OAuth2Exception($result->keyNested('error.message')); } $user = new OAuth2User($result->key('username', '', true), $result->key('email', '', true)); $user->setProfileId($result->key('id', '', true)); $user->setFirstName($result->key('first_name', '', true)); $user->setLastName($result->key('last_name', '', true)); $user->setProfileUrl($result->key('link', '', true)); $user->setAvatarUrl('http://graph.facebook.com/' . $user->profileId . '/picture?width=160&height=160'); $user->setLastUpdateTime(strtotime($result->key('updated_time', '', true))); $user->setGender($result->key('gender', '', true)); $user->setServiceName('facebook'); return $user; }