hss_okta_flutter 1.4.2 copy "hss_okta_flutter: ^1.4.2" to clipboard
hss_okta_flutter: ^1.4.2 copied to clipboard

A Flutter plugin that functions as an abstraction layer, seamlessly integrating Okta's Native SDKs into the Flutter ecosystem.

HSS Okta Flutter #

The presented plugin functions as an abstraction layer, seamlessly integrating Okta's Native SDKs into the Flutter ecosystem, thereby enabling the utilization of Okta's robust security framework within a cross-platform Flutter environment. This encapsulation endows Flutter-based iOS and Android applications with the capability to leverage Okta's Classic Engine Authentication workflows, ensuring a secure and efficient user authentication experience. The plugin is architecturally designed to interface fluently with native platform capabilities, harnessing the power of Dart's asynchronous features to provide a non-blocking, streamlined authentication process that is both platform-agnostic and performance-optimized.

🤝 Contributors & Maintainers:

This project is proudly developed and maintained by HyperSense Software.

📄 License:

Distributed under the MIT License. See LICENSE for more information.

How to Install #

For mobile:

$ flutter pub add hss_okta_flutter

For Web:

$ flutter pub add hss_okta_flutter

In your index.html header tag, add Okta's Javascript library.

<script src="https://global.oktacdn.com/okta-auth-js/7.4.1/okta-auth-js.min.js" type="text/javascript"></script>

Features #

Mobile #

Feature Android IOS
Resource Owner Flow / Direct Authentication ✅ (MFA Not Available)
Browser Redirect Authentication
Device Authorization
Device SSO

Web #

Feature
Authentication by Redirection
Authentication by Popup
Token Manager
Authentication Client Setup
Authentication State Manager 🚧
Fetch User info

Getting Started #

Android Create okta.property file inside android root folder

okta.properties

issuer= <https://your.issuer.link>
clientId= <Your client id>
signInRedirectUri= <Sign in redirect URL>
signOutRedirectUri= <Sign out redirect URL>
scopes= <List of scopes, separated by space>

IOS Create Okta.plist in your iOS project

Okta.plist

<key>issuer</key>
<string>https://your.issuer.link</string>
<key>clientId</key>
<string>Your client id</string>
<key>redirectUri</key>
<string>Sign in redirect URL</string>
<key>logoutRedirectUri</key>
<string>Sign out redirect URL</string>
<key>scopes</key>
<string>List of scopes, separated by space</string>

General Usage:

import 'package:hss_okta_flutter/hss_okta_flutter_plugin.dart';

final _plugin =  HssOktaFlutter();

Future<void> getCredential() async{

try{
    await _plugin.getCredentials();
}catch(e){
	    print('$e')
    }
}

Browser Redirect Authentication

import 'package:hss_okta_flutter/hss_okta_flutter_plugin.dart';

@override
Widget build(BuildContext context){
return HssOktaBrowserSignOutWidget(
onResult: (success){
     if(success)
     Navigator.of(context).pop(success);
   }
builder: (context,child) => Container(child:child)
  )
}

Web:

import  'package:hss_okta_flutter/hss_okta_flutter.dart';
final oktaWeb = HssOktaFlutterWeb();

void main(){
await oktaWeb.initializeClient(OktaConfig({
issuer: 'com.dev.okta.myApp'
clientId: '123456'
redirectUri: 'https:localhost:8080/callback'
}));

final token = await oktaWeb.token.startPopUpAuthentication();
print(token.accessToken?.accessToken);
}

Authentication Flows #

Mobile #

Browser Redirect #

The login is achieved through the Web-based OIDC flows, where the user is redirected to the Okta-Hosted login page. After the user authenticates, they are redirected back to the application.

This launches a popup web view where the user can login and interact with challenges.

Direct Authentication Flow / Resource Owner Flow #

Direct Authentication with MFA is Only available for iOS. Used for Owner Resource authentication with user and password.

Device Authentication Flow #

Allow the user to login via another device, the plugin will provide a access code and a URI where the user can login via another device or the browser.

Device SSO #

Allows Single sign on using a Device secret paired with the user's ID token

Web #

Auth by Redirect #

Redirects the user to Okta's Issuer Url and prompts the user to login

Auth by Popup #

Launches a New window and prompts the user to login

6
likes
140
pub points
40%
popularity

Publisher

verified publisherhypersense-software.com

A Flutter plugin that functions as an abstraction layer, seamlessly integrating Okta's Native SDKs into the Flutter ecosystem.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (LICENSE)

Dependencies

flutter, flutter_web_plugins, js, pigeon, plugin_platform_interface, url_launcher

More

Packages that depend on hss_okta_flutter