Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

@equinor/mad-auth

Package Overview
Dependencies
Maintainers
2
Versions
59
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@equinor/mad-auth

An authentication library that uses expo-auth-session (mobile) and @azure/msal-browser (web) under the hood

latest
npmnpm
Version
0.4.0
Version published
Weekly downloads
103
-44.02%
Maintainers
2
Weekly downloads
 
Created
Source

MAD AUTH

A simple authentication package used by the mad-team. It uses expo-auth-session and @azure/msal-browser under the hood, and requires you to set up an app registration in azure.

Usage

Add our provided LoginButton to your application:

export const LoginScreen = () => {
    const navigation = useNavigation<NavigationProp<RootStackParamList>>();
    return (
        <View
            style={{
                height: "100%",
                alignItems: "center",
                justifyContent: "center",
                flexDirection: "row",
            }}
        >
            <LoginButton
                redirectUri="msauth.com.equinor.mad.chronicles://auth"
                clientId="49222fe1-4e0a-4310-9e81-1a2c3eb9b2ed"
                onAuthenticationSuccessful={() => navigation.navigate("Root")}
                onAuthenticationFailed={() => console.error("Unable to authenticate")}
                enableAutomaticAuthentication
            />
        </View>
    );
};

The LoginButton provided by this package uses @equinor/mad-components's Button component. You can style it however you want. However, if you want to create your own LoginButton from scratch, you can do so by using the useAuthenticate hook. See the implementation of our LoginButton if you need some inspiration. Alternatively, you can create the login flow logic from scratch using the provided functions below.

This package provides a few basic functions you can use to either make your own login button, or use throughout the app:

If you are not using our login button, nor useAuthenticate, use this function to initate the authentication client:

initiateAuthenticationClient({clientId: string, redirectUri: string, authority?: string}): Promise<void>

To check if the authentication client exists, use this function:

authenticationClientExists(): boolean

To authenticate interactively, use this function:

authenticateInteractively(scope: string[]): Promise<MadAuthenticationResult | null>

To authenticate silently, use this function:

authenticateSilently(scope: string[]): Promise<MadAuthenticationResult | null>

To get account, use this function:

getAccount(): Promise<MadAccount | null>

Alternatively, you can use this hook to get account:

useAccount(): MadAccount | null

Keywords

authentication

FAQs

Package last updated on 25 Sep 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts