BizDoc.Authentication.Azure 8.44.4

dotnet add package BizDoc.Authentication.Azure --version 8.44.4
NuGet\Install-Package BizDoc.Authentication.Azure -Version 8.44.4
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BizDoc.Authentication.Azure" Version="8.44.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BizDoc.Authentication.Azure --version 8.44.4
#r "nuget: BizDoc.Authentication.Azure, 8.44.4"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install BizDoc.Authentication.Azure as a Cake Addin
#addin nuget:?package=BizDoc.Authentication.Azure&version=8.44.4

// Install BizDoc.Authentication.Azure as a Cake Tool
#tool nuget:?package=BizDoc.Authentication.Azure&version=8.44.4

Azure for BizDoc

Add Azure authentication and storage for BizDoc.

dotnet add package BizDoc.Authentication.Azure

program.cs

using System.Security.Claims;

builder.Services.AddBizDoc(options => {
    options.IdentityClaimType = ClaimTypes.Name;
}).
	AddAzure(options => {
        options.ApplicationId = "{application-id-here}";
        options.TenantId = "{tenant-id-here}";
        options.ClientId = "{client-id-here}";
        options.ClientSecret = "{client-secret-here}";

        options.SystemGroupName = "{system-id-here}";
    });
s
app.UseAzure();

You can use the appsettings.json file.

{
  "Azure": {
    "ApplicationId": "{application-id-here}",
    "TenantId": "{tenant-id-here}",
    "ClientId": "{client-id-here}",
    "ClientSecret": "{client-secret-here}",
    "SystemGroupName": "{system-id-here}"
  }
}

And provide the section name to AddAzure().

builder.Services.AddBizDoc(options => {
    ...
}).
	AddAzure(builder.Configuration.GetSection("Azure"), configure => {
        ...
    });

The ApplicationId should be set to the application Object ID and the ClientId to the Application (client) ID.

IdentityClaimType needs to be set to one of:

Claim Usage
ClaimConstants.ObjectId
ClaimTypes.Name or ClaimTypes.Upn
ClaimTypes.Sid
ClaimTypes.Email
AzureClaimTypes.EmployeeId
AzureClaimTypes.OnPremisesSecurityIdentifier
AzureClaimTypes.OnPremisesSamAccountName
AzureClaimTypes.OnPremisesUserPrincipalName

AzureClaimTypes (EmployeeId, etc.) are supported only on SAML. Add Attributes & Claims matching the claim name.

The SystemGroupName maps to BizDoc admin group.

Use Password-Based Single sign-on

	AddAzure(options => {
        ...
    }, configure => 
    configure
        .UsePasswordBasedSignOn()
        .UseIdentityProvider());

Uee SAML

Set Reply URL to /signin-oidc, and Logout Url to /signout-callback-oidc.

	AddAzure(options => {
        ...
        options.ClientCertificates = [ new CertificateDescription {
                          SourceType= CertificateSource.StoreWithThumbprint,
                          CertificateStorePath= "CurrentUser/My",
                         CertificateThumbprint = "{certificate-thumbprint-here}"
                    } ];
    }, configure => 
    configure
        .UseSAML()
        .UseIdentityProvider());

Set mode to SAML in app.module.ts.

You can use the appsettings.json file.

{
  "Azure": {
    "ClientCertificates": [
      {
        "SourceType": "StoreWithThumbprint",
        "CertificateStorePath": "CurrentUser/My",
        "CertificateThumbprint": "{certificate-thumbprint-here}"
      }
    ],
    ...
  }
}

Download certificate and set CertificateThumbprint.

Use blob storage

Set a storage for attachments.

AddBizDoc().
    AddAzure(
        options => ..., 
        configure => configure
            .UseBlobFileStore(o => o.ConnectionString = "{connection-string-here}"));

Use mail

Set EmailAddress.

builder.Services.AddBizDoc().
    AddAzure(
        options => ..., 
        configure => configure
            .UseEmailer() /* replaces SMTP */
            .UseMailFeedback(o => o.EmailAddress = "{bizdoc-address-here}"));

app.UseBizDoc().UseMailFeedback();

Configure

Check ID tokens and switch Allow public client flows to yes.

API Permissions

  • User.Read.All
  • UserTeamwork.Read.All
  • Group.Read.All
  • GroupMember.Read.All
  • Organization.Read.All
  • Place.Read.All
  • Contacts.Read
  • OrgContact.Read.All
  • Sites.Read.All
  • Team.ReadBasic.All
  • TeamMember.Read.All

In addition, Mail.ReadWrite and Mail.Send is required when UseEmailer() or UseMailFeedback().

Workflow

Manager, document owner manager in Azure.

Directory Role.

Widgets

My Group Peers.

My Team Peers.

Direct Reporters Pending.

Teams Performance.

Groups Performance.

Departments Performance.

Administrative Units Performance.

Source

Name Usage
DirectoryGroups
DirectoryRoles
BookingBusinesses
Contacts
DirectoryRoles
Places
Organizations
AdministrativeUnits
EducationSchools
EducationClasses
Sites
Teams
Plans
Departments User department

Attributes

Name Usage
OwnerCountry
OwnerTeamworkData require property name
OwnerEmployeeOrgData require property name
OwnerAdditionalData require property name
OwnerPlannerData require property name
OwnerEmployeeId
OwnerEmployeeType
OwnerDepartment
OwnerEmployeeDivision
OwnerEmployeeCostCenter
OwnerMySite

Rules

Name Usage
OwnerDepartment
OwnerEmployeeDivision
OwnerEmployeeCostCenter
OwnerEmployeeType
OwnerCompanyName
UserEmployeeDivision
UserEmployeeCostCenter
UserEmployeeType
OwnerTeams
UserAdditionalData require property name
UserTeamworkAdditionalData require property name
OwnerTeamworkAdditionalData require property name
UserEmployeeOrgData require property name
OwnerAdditionalData require property name

Resolvers

Name Usage
DivisionResolver
CostCenterResolver

Angular

Install the module.

npm i @bizdoc/azure

Import the module in app.module.

imports: [AzureModule.forRoot({
    clientId: '{client-id-here}',
    mode: 'SAML|Password-Based',
})]
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on BizDoc.Authentication.Azure:

Package Downloads
BizDoc.Social.Teams

Teams for BizDoc

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.44.4 38 4/23/2024
8.43.3 81 4/14/2024
8.42.3 88 4/8/2024
8.41.3 93 4/6/2024
8.41.2 89 3/2/2024
8.41.0 82 3/1/2024
8.40.5 81 2/29/2024
8.40.4 84 2/29/2024
8.40.2 82 2/29/2024
8.40.1 81 2/28/2024
8.40.0 82 2/28/2024
8.39.6 75 2/28/2024
8.39.5 82 2/27/2024
8.38.5 87 2/20/2024
8.37.4 108 2/7/2024
8.36.4 88 2/2/2024
8.35.4 100 1/17/2024
8.35.3 99 1/12/2024
7.35.3 96 1/6/2024
7.34.5 128 12/23/2023
7.34.3 91 12/30/2023
7.34.2 102 12/30/2023
7.34.1 98 12/29/2023
7.33.5 117 12/12/2023
7.33.4 111 11/28/2023
7.32.4 101 11/26/2023
7.32.3 110 11/23/2023
7.31.3 101 11/22/2023
7.30.3 88 11/22/2023
7.30.2 99 11/21/2023
7.30.1 99 11/21/2023
7.30.0 101 11/17/2023
7.28.0 98 11/15/2023
7.27.0 96 11/9/2023
7.25.0 105 11/5/2023
7.23.3 112 10/30/2023
7.22.3 120 10/21/2023
7.20.3 127 9/26/2023
7.19.3 114 9/23/2023
7.18.3 118 9/17/2023
7.17.3 130 9/10/2023
7.16.3 132 9/6/2023
7.15.3 129 8/31/2023
7.14.3 132 8/22/2023
7.13.3 134 8/14/2023
7.12.3 133 7/28/2023
7.10.3 143 7/9/2023
7.9.3 172 7/6/2023
7.8.3 350 6/24/2023
7.7.1 147 6/18/2023
7.6.1 143 6/13/2023
7.5.1 154 6/8/2023
7.5.0 145 5/28/2023
7.4.0 143 5/22/2023
7.3.0 146 5/4/2023
7.0.1 187 3/30/2023
7.0.0 310 11/28/2022
6.8.9 323 11/8/2022
6.8.8 349 11/6/2022
6.8.7 335 10/31/2022
6.8.6 351 10/27/2022
6.8.5 387 10/24/2022
6.8.4 425 10/20/2022
6.8.3 409 10/20/2022