| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * @fileoverview | 6 * @fileoverview |
| 7 * OAuth2 class that handles retrieval/storage of an OAuth2 token. | 7 * OAuth2 class that handles retrieval/storage of an OAuth2 token. |
| 8 * | 8 * |
| 9 * Uses a content script to trampoline the OAuth redirect page back into the | 9 * Uses a content script to trampoline the OAuth redirect page back into the |
| 10 * extension context. This works around the lack of native support for | 10 * extension context. This works around the lack of native support for |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 window.localStorage.setItem(this.KEY_ACCESS_TOKEN_, | 149 window.localStorage.setItem(this.KEY_ACCESS_TOKEN_, |
| 150 JSON.stringify(access_token)); | 150 JSON.stringify(access_token)); |
| 151 }; | 151 }; |
| 152 | 152 |
| 153 /** | 153 /** |
| 154 * Returns the current access token, setting it to a invalid value if none | 154 * Returns the current access token, setting it to a invalid value if none |
| 155 * existed before. | 155 * existed before. |
| 156 * | 156 * |
| 157 * @private | 157 * @private |
| 158 * @return {{token: string, expiration: number}} The current access token, or | 158 * @return {{token: string, expiration: number}} The current access token, or |
| 159 * an invalid token if not authenticated. | 159 * an invalid token if not authenticated. |
| 160 */ | 160 */ |
| 161 remoting.OAuth2.prototype.getAccessTokenInternal_ = function() { | 161 remoting.OAuth2.prototype.getAccessTokenInternal_ = function() { |
| 162 if (!window.localStorage.getItem(this.KEY_ACCESS_TOKEN_)) { | 162 if (!window.localStorage.getItem(this.KEY_ACCESS_TOKEN_)) { |
| 163 // Always be able to return structured data. | 163 // Always be able to return structured data. |
| 164 this.setAccessToken_('', 0); | 164 this.setAccessToken_('', 0); |
| 165 } | 165 } |
| 166 var accessToken = window.localStorage.getItem(this.KEY_ACCESS_TOKEN_); | 166 var accessToken = window.localStorage.getItem(this.KEY_ACCESS_TOKEN_); |
| 167 if (typeof accessToken == 'string') { | 167 if (typeof accessToken == 'string') { |
| 168 var result = base.jsonParseSafe(accessToken); | 168 var result = base.jsonParseSafe(accessToken); |
| 169 if (result && 'token' in result && 'expiration' in result) { | 169 if (result && 'token' in result && 'expiration' in result) { |
| 170 return /** @type {{token: string, expiration: number}} */ result; | 170 return /** @type {{token: string, expiration: number}} */(result); |
| 171 } | 171 } |
| 172 } | 172 } |
| 173 console.log('Invalid access token stored.'); | 173 console.log('Invalid access token stored.'); |
| 174 return {'token': '', 'expiration': 0}; | 174 return {'token': '', 'expiration': 0}; |
| 175 }; | 175 }; |
| 176 | 176 |
| 177 /** | 177 /** |
| 178 * Returns true if the access token is expired, or otherwise invalid. | 178 * Returns true if the access token is expired, or otherwise invalid. |
| 179 * | 179 * |
| 180 * Will throw if !isAuthenticated(). | 180 * Will throw if !isAuthenticated(). |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 457 * @return {?string} The user's full name, if it has been cached by a previous | 457 * @return {?string} The user's full name, if it has been cached by a previous |
| 458 * call to getUserInfo, otherwise null. | 458 * call to getUserInfo, otherwise null. |
| 459 */ | 459 */ |
| 460 remoting.OAuth2.prototype.getCachedUserFullName = function() { | 460 remoting.OAuth2.prototype.getCachedUserFullName = function() { |
| 461 var value = window.localStorage.getItem(this.KEY_FULLNAME_); | 461 var value = window.localStorage.getItem(this.KEY_FULLNAME_); |
| 462 if (typeof value == 'string') { | 462 if (typeof value == 'string') { |
| 463 return value; | 463 return value; |
| 464 } | 464 } |
| 465 return null; | 465 return null; |
| 466 }; | 466 }; |
| OLD | NEW |