npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@aaronpowell/react-static-web-apps-auth

v1.7.2

Published

A library to help creating authenticated React apps on Azure Static Web Apps

Downloads

349

Readme

Static Web App Auth tools for React

Node.js CI | npm version

This package is a series of helper tools for working with Azure Static Web Apps Authentication and Authorization from React.

Installation

You can install a stable release from npm:

npm install @aaronpowell/react-static-web-apps-auth

Or you can install the latest build from GitHub packages.

Usage

The package contains some components that wrap the functionality for you.

<StaticWebAppsAuthLogins />

const Login = () => {
  return (
    <div>
      <h2>Login to our site</h2>
      <StaticWebAppsAuthLogins aad={true} twitter={false} customProviders={[ id: "okta", name: "Okta" ]} />
    </div>
  );
};

This component will display all the auth providers you want to use on your application and links for the user. Custom OIDC providers can be registered using the customProviders prop and provide the id of the provider and the name you want displayed to the user.

By default, only managed auth providers will display, but they can be turned off by setting their corresponding prop to false. All providers available as configurable options can be enabled using props.

To redirect to a specific URL post-login, provide that path in the postLoginRedirect prop.

The default label is Sign in using ${name}, but can be overridden with the label prop, which takes a function that receives the name of the provider and returns the label string.

<ClientPrincipalContextProvider>

const App = () => {
  return (
    <ClientPrincipalContextProvider>
      <MySite />
    </ClientPrincipalContextProvider>
  );
};

This component provides React Context for the current user (or a series of undefined values when you're not logged in), aligning with the information available in the Client Principal.

Additionally, a useContext React Hook is available, useClientPrincipal, for use within the application.

<Logout />

This component provides the logout function through Static Web Apps.

To redirect to a specific URL post-logout, provide the path in the postLogoutRedirect prop.

<UserPurge />

This component provides the user with the ability to remove their identifying information from Static Web Apps. By default it'll only purge them from the current domain, but set the globally prop to true if you with to give them the ability to completely remove themselves from Static Web Apps.

Styling

Each of the components generates minimal HTML (a single <a> tag) to make it easier to style within an application. The DOM elements have the class azure-swa-auth, defined in ./constants as StaticWebAppsClassName, on them, along with the component type, login, logout or purge.

Additionally, the login components have the provider as a class, so providers can be styled individually.

License

MIT