BizDoc.Core.Okta
6.8.1
dotnet add package BizDoc.Core.Okta --version 6.8.1
NuGet\Install-Package BizDoc.Core.Okta -Version 6.8.1
<PackageReference Include="BizDoc.Core.Okta" Version="6.8.1" />
paket add BizDoc.Core.Okta --version 6.8.1
#r "nuget: BizDoc.Core.Okta, 6.8.1"
// Install BizDoc.Core.Okta as a Cake Addin #addin nuget:?package=BizDoc.Core.Okta&version=6.8.1 // Install BizDoc.Core.Okta as a Cake Tool #tool nuget:?package=BizDoc.Core.Okta&version=6.8.1
Okta for BizDoc
BizDoc supports Okta for both authentication and authorization, in one of two configurations: server flow or client flow.
Server flow redirects unauthorized users to Okta sign-in page on Okta domain, and handles the redirect. Client flow prompts unauthorized users for credentials in an hosted widget, and negotiate with Okta on the background.
- For both modes, install BizDoc Nuget package:
dotnet add package BizDoc.Core.Okta
- Add Okta application. If using server mode, choose Web Application. If using client mode, choose ODIC - OpenID Connect, and select SPA.
Okta sign-in redirect url should match "/authorization-code/callback" on server mode, and no path for client mode.
Create an API Token to allow BizDoc to retrieve users information.
- In startup.cs, add Okta service.
For server flow, use AddOktaRedirect:
AddBizDoc(o=> {
o.ApplicationUri = "https://app-domain";
})
.AddOktaServer(o=> {
o.ApiToken = "api-token";
o.Domain = "domain-name";
o.ClientId = "client-id";
o.ClientSecret = "client-secret";
});
...
UseBizDoc().
.UseOktaServer();
For client mode, use AddOkta:
AddBizDoc(...)
.AddOkta(o=> {
o.ApiToken = "api-token";
o.Domain = "domain-name";
}).
UseIdentityProvider();
The UseIdentityProvider() method registers an identity provider which retrieve user information from Okta. To use a different provider, while still authenticating via Okta, see Implementing Identity Provider.
- Client mode only, install Angular package:
npm i @bizdoc/okta
Add Okta configuration in Angular app.module:
OktaModule.forRoot({
domain: 'domain-name',
clientId: 'client-id'
})
Roles
In order to map user groups to BizDoc roles for authorization purposes, add a new claim to Okta Authorization Server with the following specifications.
Property | Value |
---|---|
Name | bizdoc.roles |
Include in token type | ID Token |
Value type | Groups |
Filter | Matches regex, .* |
Include in | Any scope |
System
Add an attribute to either application profile or all profiles and set its type to boolean. Add a claim in API server that map to the profile attribute you created.
Property | Value |
---|---|
Name | bizdoc.admin |
Include in token type | ID Token |
Value type | Expression |
Value | user.{attr-name-here} |
Resolvers
Name | Usage |
---|---|
CostCenterResolver | |
DepartmentResolver | |
DivisionResolver | |
OrganizationResolver |
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
-
net6.0
- Microsoft.AspNetCore.Authentication.Cookies (>= 2.2.0)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 6.0.7)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 6.0.7)
- Okta.Sdk (>= 5.6.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
6.8.1 | 492 | 10/18/2022 | |
6.8.0 | 405 | 10/16/2022 | |
6.7.3 | 408 | 8/8/2022 | |
6.7.2 | 395 | 7/21/2022 | |
6.7.1 | 414 | 7/12/2022 | |
6.6.5 | 426 | 7/3/2022 | |
6.6.4 | 423 | 6/26/2022 | |
6.6.3 | 386 | 6/26/2022 | |
6.6.2 | 395 | 6/15/2022 | |
6.6.1 | 410 | 5/28/2022 | |
6.6.0 | 406 | 5/20/2022 | |
6.5.3 | 428 | 4/27/2022 | |
6.5.2 | 426 | 4/13/2022 | |
6.5.1 | 409 | 4/6/2022 | |
6.5.0 | 438 | 4/5/2022 | |
6.4.0 | 446 | 3/8/2022 | |
6.3.5 | 426 | 2/16/2022 | |
6.3.4 | 426 | 2/10/2022 | |
6.3.3 | 423 | 2/7/2022 | |
6.3.2 | 454 | 2/2/2022 | |
6.3.1 | 449 | 1/31/2022 | |
6.3.0 | 452 | 1/21/2022 | |
6.2.1 | 463 | 1/15/2022 | |
6.2.0 | 278 | 1/7/2022 | |
6.2.0-prerelease | 166 | 1/5/2022 | |
6.0.5 | 310 | 12/14/2021 | |
6.0.4 | 305 | 12/1/2021 | |
6.0.3 | 333 | 11/22/2021 | |
6.0.2 | 302 | 11/16/2021 | |
6.0.1 | 321 | 11/13/2021 | |
6.0.0 | 328 | 11/10/2021 | |
5.3.8 | 398 | 11/3/2021 | |
5.3.6 | 366 | 11/2/2021 | |
5.3.5 | 534 | 10/30/2021 | |
5.3.4 | 472 | 10/25/2021 | |
5.3.3 | 364 | 10/17/2021 | |
5.3.2 | 349 | 10/14/2021 | |
5.3.1 | 402 | 10/12/2021 | |
5.3.0 | 364 | 10/12/2021 | |
5.2.6 | 392 | 10/11/2021 | |
5.2.5 | 399 | 10/10/2021 | |
5.2.4 | 332 | 10/7/2021 | |
5.2.3 | 340 | 10/5/2021 | |
5.2.2 | 380 | 9/27/2021 | |
5.2.1 | 329 | 9/23/2021 | |
5.2.0 | 360 | 9/22/2021 | |
5.1.11 | 349 | 9/16/2021 | |
5.1.10 | 337 | 9/16/2021 | |
5.1.9 | 342 | 9/15/2021 | |
5.1.8 | 348 | 9/14/2021 | |
5.1.7 | 362 | 9/13/2021 | |
5.1.6 | 367 | 9/13/2021 | |
5.1.5 | 396 | 9/13/2021 | |
5.1.4 | 388 | 9/12/2021 | |
5.1.3 | 383 | 9/12/2021 | |
5.1.2 | 357 | 8/10/2021 | |
5.1.1 | 327 | 4/1/2021 | |
5.1.0 | 381 | 4/1/2021 | |
5.0.1 | 405 | 3/9/2021 | |
5.0.0 | 373 | 1/13/2021 | |
3.2.2 | 473 | 12/17/2020 | |
3.2.1 | 465 | 11/25/2020 | |
3.2.0 | 447 | 11/25/2020 | |
3.1.3 | 510 | 9/4/2020 | |
3.1.2 | 483 | 8/16/2020 | |
3.1.1 | 550 | 3/5/2020 | |
3.0.0 | 598 | 11/11/2019 | |
1.0.3 | 668 | 6/6/2019 | |
1.0.2 | 719 | 5/26/2019 | |
1.0.0 | 774 | 4/11/2019 |