33
44import Log from './Log' ;
55import OidcClientSettings from './OidcClientSettings' ;
6- import MetadataService from './MetadataService' ;
76import ErrorResponse from './ErrorResponse' ;
87import SigninRequest from './SigninRequest' ;
98import SigninResponse from './SigninResponse' ;
109import SignoutRequest from './SignoutRequest' ;
1110import SignoutResponse from './SignoutResponse' ;
12- import WebStorageStateStore from './WebStorageStateStore' ;
13- import ResponseValidator from './ResponseValidator' ;
1411import State from './State' ;
1512
1613export default class OidcClient {
17- constructor ( settings , {
18- stateStore = new WebStorageStateStore ( ) ,
19- ResponseValidatorCtor = ResponseValidator ,
20- MetadataServiceCtor = MetadataService
21- } = { } ) {
14+ constructor ( settings = { } ) {
2215 if ( settings instanceof OidcClientSettings ) {
2316 this . _settings = settings ;
2417 }
2518 else {
2619 this . _settings = new OidcClientSettings ( settings ) ;
2720 }
28- this . _stateStore = stateStore ;
29- this . _validator = new ResponseValidatorCtor ( this . _settings ) ;
30- this . _metadataService = new MetadataServiceCtor ( this . _settings ) ;
21+ }
22+
23+ get _stateStore ( ) {
24+ return this . settings . stateStore ;
25+ }
26+ get _validator ( ) {
27+ return this . settings . validator ;
28+ }
29+ get _metadataService ( ) {
30+ return this . settings . metadataService ;
3131 }
3232
3333 get settings ( ) {
3434 return this . _settings ;
3535 }
36-
3736 get metadataService ( ) {
3837 return this . _metadataService ;
3938 }
@@ -83,14 +82,14 @@ export default class OidcClient {
8382 Log . info ( "OidcClient.processSigninResponse" ) ;
8483
8584 var response = new SigninResponse ( url ) ;
86-
85+
8786 if ( ! response . state ) {
8887 Log . error ( "No state in response" ) ;
8988 return Promise . reject ( new Error ( "No state in response" ) ) ;
9089 }
9190
9291 stateStore = stateStore || this . _stateStore ;
93-
92+
9493 return stateStore . remove ( response . state ) . then ( storedStateString => {
9594 if ( ! storedStateString ) {
9695 Log . error ( "No matching state found in storage" ) ;
@@ -124,7 +123,7 @@ export default class OidcClient {
124123 var state = request . state ;
125124 if ( state ) {
126125 Log . info ( "Signout request has state to persist" ) ;
127-
126+
128127 stateStore = stateStore || this . _stateStore ;
129128 stateStore . set ( state . id , state . toStorageString ( ) ) ;
130129 }
@@ -139,12 +138,12 @@ export default class OidcClient {
139138 var response = new SignoutResponse ( url ) ;
140139 if ( ! response . state ) {
141140 Log . info ( "No state in response" ) ;
142-
141+
143142 if ( response . error ) {
144143 Log . warn ( "Response was error" , response . error ) ;
145144 return Promise . reject ( new ErrorResponse ( response ) ) ;
146145 }
147-
146+
148147 return Promise . resolve ( response ) ;
149148 }
150149
0 commit comments