| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library authorization_code_grant; | 5 library authorization_code_grant; |
| 6 | 6 |
| 7 import 'dart:uri'; | 7 import 'dart:uri'; |
| 8 | 8 |
| 9 // TODO(nweiz): This should be a "package:" import. See issue 6745. | 9 // TODO(nweiz): This should be a "package:" import. See issue 6745. |
| 10 import '../../../http/lib/http.dart' as http; | 10 import '../../../http/lib/http.dart' as http; |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 /// client. This will usually be listed in the authorization server's | 68 /// client. This will usually be listed in the authorization server's |
| 69 /// OAuth2 API documentation. | 69 /// OAuth2 API documentation. |
| 70 final Uri authorizationEndpoint; | 70 final Uri authorizationEndpoint; |
| 71 | 71 |
| 72 /// A URL provided by the authorization server that this library uses to | 72 /// A URL provided by the authorization server that this library uses to |
| 73 /// obtain long-lasting credentials. This will usually be listed in the | 73 /// obtain long-lasting credentials. This will usually be listed in the |
| 74 /// authorization server's OAuth2 API documentation. | 74 /// authorization server's OAuth2 API documentation. |
| 75 final Uri tokenEndpoint; | 75 final Uri tokenEndpoint; |
| 76 | 76 |
| 77 /// The HTTP client used to make HTTP requests. | 77 /// The HTTP client used to make HTTP requests. |
| 78 http.BaseClient _httpClient; | 78 http.Client _httpClient; |
| 79 | 79 |
| 80 /// The URL to which the resource owner will be redirected after they | 80 /// The URL to which the resource owner will be redirected after they |
| 81 /// authorize this client with the authorization server. | 81 /// authorize this client with the authorization server. |
| 82 Uri _redirectEndpoint; | 82 Uri _redirectEndpoint; |
| 83 | 83 |
| 84 /// The scopes that the client is requesting access to. | 84 /// The scopes that the client is requesting access to. |
| 85 List<String> _scopes; | 85 List<String> _scopes; |
| 86 | 86 |
| 87 /// An opaque string that users of this library may specify that will be | 87 /// An opaque string that users of this library may specify that will be |
| 88 /// included in the response query parameters. | 88 /// included in the response query parameters. |
| 89 String _stateString; | 89 String _stateString; |
| 90 | 90 |
| 91 /// The current state of the grant object. One of [_INITIAL_STATE], | 91 /// The current state of the grant object. One of [_INITIAL_STATE], |
| 92 /// [_AWAITING_RESPONSE_STATE], or [_FINISHED_STATE]. | 92 /// [_AWAITING_RESPONSE_STATE], or [_FINISHED_STATE]. |
| 93 int _state = _INITIAL_STATE; | 93 int _state = _INITIAL_STATE; |
| 94 | 94 |
| 95 /// Creates a new grant. | 95 /// Creates a new grant. |
| 96 /// | 96 /// |
| 97 /// [httpClient] is used for all HTTP requests made by this grant, as well as | 97 /// [httpClient] is used for all HTTP requests made by this grant, as well as |
| 98 /// those of the [Client] is constructs. | 98 /// those of the [Client] is constructs. |
| 99 AuthorizationCodeGrant( | 99 AuthorizationCodeGrant( |
| 100 this.identifier, | 100 this.identifier, |
| 101 this.secret, | 101 this.secret, |
| 102 this.authorizationEndpoint, | 102 this.authorizationEndpoint, |
| 103 this.tokenEndpoint, | 103 this.tokenEndpoint, |
| 104 {http.BaseClient httpClient}) | 104 {http.Client httpClient}) |
| 105 : _httpClient = httpClient == null ? new http.Client() : httpClient; | 105 : _httpClient = httpClient == null ? new http.Client() : httpClient; |
| 106 | 106 |
| 107 /// Returns the URL to which the resource owner should be redirected to | 107 /// Returns the URL to which the resource owner should be redirected to |
| 108 /// authorize this client. The resource owner will then be redirected to | 108 /// authorize this client. The resource owner will then be redirected to |
| 109 /// [redirect], which should point to a server controlled by the client. This | 109 /// [redirect], which should point to a server controlled by the client. This |
| 110 /// redirect will have additional query parameters that should be passed to | 110 /// redirect will have additional query parameters that should be passed to |
| 111 /// [handleAuthorizationResponse]. | 111 /// [handleAuthorizationResponse]. |
| 112 /// | 112 /// |
| 113 /// The specific permissions being requested from the authorization server may | 113 /// The specific permissions being requested from the authorization server may |
| 114 /// be specified via [scopes]. The scope strings are specific to the | 114 /// be specified via [scopes]. The scope strings are specific to the |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 /// Closes the grant and frees its resources. | 249 /// Closes the grant and frees its resources. |
| 250 /// | 250 /// |
| 251 /// This will close the underlying HTTP client, which is shared by the | 251 /// This will close the underlying HTTP client, which is shared by the |
| 252 /// [Client] created by this grant, so it's not safe to close the grant and | 252 /// [Client] created by this grant, so it's not safe to close the grant and |
| 253 /// continue using the client. | 253 /// continue using the client. |
| 254 void close() { | 254 void close() { |
| 255 if (_httpClient != null) _httpClient.close(); | 255 if (_httpClient != null) _httpClient.close(); |
| 256 _httpClient = null; | 256 _httpClient = null; |
| 257 } | 257 } |
| 258 } | 258 } |
| OLD | NEW |