Skip to content

Commit

Permalink
feat: add missing OAuth2Credentials class
Browse files Browse the repository at this point in the history
  • Loading branch information
JKRhb committed Feb 3, 2022
1 parent c7a08f5 commit 9db3379
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 5 deletions.
1 change: 1 addition & 0 deletions lib/definitions.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ export 'src/definitions/credentials/basic_credentials.dart';
export 'src/definitions/credentials/bearer_credentials.dart';
export 'src/definitions/credentials/credentials.dart';
export 'src/definitions/credentials/digest_credentials.dart';
export 'src/definitions/credentials/oauth2_credentials.dart';
export 'src/definitions/credentials/psk_credentials.dart';
export 'src/definitions/thing_description.dart';
export 'src/definitions/thing_model.dart';
5 changes: 5 additions & 0 deletions lib/src/core/consumed_thing.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import '../definitions/credentials/basic_credentials.dart';
import '../definitions/credentials/bearer_credentials.dart';
import '../definitions/credentials/credentials.dart';
import '../definitions/credentials/digest_credentials.dart';
import '../definitions/credentials/oauth2_credentials.dart';
import '../definitions/credentials/psk_credentials.dart';
import '../definitions/data_schema.dart';
import '../definitions/form.dart';
Expand All @@ -19,6 +20,7 @@ import '../definitions/security/apikey_security_scheme.dart';
import '../definitions/security/basic_security_scheme.dart';
import '../definitions/security/bearer_security_scheme.dart';
import '../definitions/security/digest_security_scheme.dart';
import '../definitions/security/oauth2_security_scheme.dart';
import '../definitions/security/psk_security_scheme.dart';
import '../definitions/security/security_scheme.dart';
import '../definitions/thing_description.dart';
Expand Down Expand Up @@ -89,6 +91,9 @@ class ConsumedThing implements scripting_api.ConsumedThing {
} else if (securityDefinition is BearerSecurityScheme &&
credentials is BearerCredentials) {
securityDefinition.credentials = credentials;
} else if (securityDefinition is OAuth2SecurityScheme &&
credentials is OAuth2Credentials) {
securityDefinition.credentials = credentials;
}
}
}
Expand Down
24 changes: 24 additions & 0 deletions lib/src/definitions/credentials/oauth2_credentials.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// Copyright 2022 The NAMIB Project Developers. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//
// SPDX-License-Identifier: BSD-3-Clause

import 'credentials.dart';

/// [Credentials] used for the `OAuth2SecurityScheme`.
class OAuth2Credentials extends Credentials {
/// The [identifier] associated with these [OAuth2Credentials].
String identifier;

/// The optional secret for these [OAuth2Credentials].
String? secret;

/// A JSON string representation of OAuth2 credentials.
///
/// Used to store obtained credentials from an authorization server.
String? credentialsJson;

/// Constructor.
OAuth2Credentials(this.identifier, [this.secret]) : super("oauth2");
}
7 changes: 2 additions & 5 deletions lib/src/definitions/security/oauth2_security_scheme.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
//
// SPDX-License-Identifier: BSD-3-Clause

import '../credentials/credentials.dart';
import '../credentials/oauth2_credentials.dart';
import 'helper_functions.dart';
import 'security_scheme.dart';

Expand Down Expand Up @@ -41,10 +41,7 @@ class OAuth2SecurityScheme extends SecurityScheme {
final List<String> _parsedJsonFields = [];

@override
final Credentials? credentials = null;

// TODO(JKRhb): Check whether credentials should be used with this
// Security Scheme.
OAuth2Credentials? credentials;

/// Constructor.
OAuth2SecurityScheme(this.flow,
Expand Down

0 comments on commit 9db3379

Please sign in to comment.