affinidi_tdk_auth_provider 1.6.0 copy "affinidi_tdk_auth_provider: ^1.6.0" to clipboard
affinidi_tdk_auth_provider: ^1.6.0 copied to clipboard

Auth provider that allows creating project scoped tokens to access Affinidi services

example/main.dart

import 'package:affinidi_tdk_auth_provider/affinidi_tdk_auth_provider.dart';
import 'package:dotenv/dotenv.dart';

void main() async {
  var env = DotEnv()..load();
  if (!env.isEveryDefined(['PROJECT_ID', 'TOKEN_ID', 'PRIVATE_KEY'])) {
    print(
        'Missing variables. Please provide PROJECT_ID, TOKEN_ID and PRIVATE_KEY');
    return;
  }
  // Workaround for dotenv multiline limitations
  final privateKey = env['PRIVATE_KEY']!.replaceAll('\\n', '\n');

  final provider = AuthProvider(
    projectId: env['PROJECT_ID']!,
    tokenId: env['TOKEN_ID']!,
    privateKey: privateKey,
    // Optional parameters
    keyId: env['KEY_ID'],
    passphrase: env['PASSPHRASE'],
  );

  // Fetch project scoped token
  try {
    final projectScopedToken = await provider.fetchProjectScopedToken();
    print('Successfully obtained project scoped token:');
    print(projectScopedToken);
  } catch (e) {
    print('Error obtaining token: $e');
  }

  // Fetch iota token (websocket).
  // DID is usually obtained at runtime from the registered user
  if (!env.isEveryDefined(['IOTA_CONFIG_ID', 'DID'])) {
    print('Missing variables. Please provide IOTA_CONFIG_ID and DID');
    return;
  }
  try {
    final iotaToken = provider.createIotaToken(
        iotaConfigId: env['IOTA_CONFIG_ID']!, did: env['DID']!);
    print('Successfully obtained iota token:');
    print(iotaToken);
  } catch (e) {
    print('Error obtaining token: $e');
  }
}
0
likes
155
points
92
downloads

Publisher

verified publisheraffinidi.com

Weekly Downloads

Auth provider that allows creating project scoped tokens to access Affinidi services

Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

affinidi_tdk_common, asn1lib, dart_jsonwebtoken, http, pointycastle, uuid

More

Packages that depend on affinidi_tdk_auth_provider