microsoft / hack-together

Hack Together: Microsoft Graph and .NET is a hackathon for .NET developers to learn Microsoft Graph and Microsoft 365.
MIT License
523 stars 85 forks source link

Project: A .NET console application that can be run on a schedule or as a scheduled task that will synchronize users and groups between Azure Active Directory and Onspring. #172

Open StevanFreeborn opened 1 year ago

StevanFreeborn commented 1 year ago

Project name

Onspring Azure AD Syncer

Description

Many Onspring customers who utilize the Onspring platform choose to leverage Onspring's existing SSO integration for authentication. This integration allows customers to setup a single sign-on experience for their users using their existing identity management provider. As part of this existing integration Onspring supports accepting claims for the user's username, email address, first name, last name, and optionally groups.

It also allows for just-in-time provisioning of users and groups if they are not already present in Onspring. This integration also updates the user's username, email address, first name, last name, and groups in Onspring upon each login if they change in the identity management provider between logins. Many customers utilize this integration with Azure Active Directory (AAD) as their identity management provider

However the existing SSO integration doesn't allow customers to centrally manage their users and groups in Onspring through Azure Active Directory and keep the two systems in sync using Azure Active Directory as the system of record. Nor allow them to leverage any existing user and group data or access models built in Azure Active Directory to also manage access in Onspring.

The OnspringAzureADSyncer app is meant to help fill this gap and provide Onspring customers with a way to sync Azure AD groups and users to Onspring. It is a .NET console application that can be run on a schedule or as a scheduled task that will synchronize users and groups between Azure Active Directory and Onspring making Azure Active Directory the system of record.

Features

✅ Allow Azure Active Directory to serve as the system of record for managing users and groups.

✅ Synchronize all users and groups in Azure Active Directory with Onspring.

✅ Activate and deactivate Onspring users based on group membership in specific Azure Active Directory groups.

✅ Map Azure Active Directory user properties to Onspring user fields.

✅ Map Azure Active Directory group properties to Onspring group fields.

Example Usages

Sync Users and Groups

https://user-images.githubusercontent.com/65925598/225514050-b1a54227-1002-4b75-abf2-79c2ffee7bc6.mp4

Activate Users Based On Group Membership

https://user-images.githubusercontent.com/65925598/225514105-e9eeb00c-0ae6-4fd2-8765-7be9fd156cce.mp4

Repo URL

https://github.com/StevanFreeborn/OnspringAzureADSyncer

Team members

Stevan Freeborn

StevanFreeborn commented 1 year ago

@waldekmastykarz I'm pretty confident that I registered properly for the hackathon, but I haven't see the Hack label get applied to this submission yet.

I registered again just to make sure I covered my basis. Forgive me if that causes you anymore trouble.

Totally understand if you just haven't had time to go through the recently submitted projects, but please let me know if you have any trouble finding my registration.

waldekmastykarz commented 1 year ago

Thank you for the submission and the video @StevanFreeborn! We'll double check your registration shortly, but either way, your hack is in and on time 👏