Skip to content
Bitzsoft.Integrationsbitzsoft.integrations

Reference

Okta IdentityProvider

Okta 身份提供者服务——SSWS Bearer(API Token)鉴权。

Last updated

基于 Okta Management API 实现,采用 SSWS Bearer(API Token)鉴权。

包信息

  • NuGet 包:Bitzsoft.Integrations.IdentityProvider.Okta
  • 接口:IIdentityProviderService
  • 鉴权:SSWS Bearer(API Token)
  • Provider ID:okta

配置

字段类型必填默认值说明
OktaUrlstringOkta 租户地址(形如 https://dev-example.okta.com
ApiTokenstringAPI Token(SSWS 鉴权凭据)
HttpClientNamestringIdentityProviderOkta业务 HttpClient 命名
{
"IdentityProvider": {
"Okta": {
"OktaUrl": "https://dev-example.okta.com",
"ApiToken": "00your-api-token"
}
}
}

注册

// 方式一:IConfiguration(默认读取 "IdentityProvider:Okta" 配置节)
services.AddOktaIdentityProvider(configuration);
// 方式二:委托配置
services.AddOktaIdentityProvider(options =>
{
options.OktaUrl = "https://dev-example.okta.com";
options.ApiToken = "00your-api-token";
});

使用示例

// 创建用户
var user = await idp.CreateUserAsync(new CreateUserRequest
{
FirstName = "Alice",
LastName = "Zhang",
Email = "alice@example.com",
Login = "alice@example.com"
});
// 查询用户
var found = await idp.GetUserAsync("alice@example.com");
// 激活 / 停用
await idp.ActivateUserAsync(user.UserId);
await idp.DeactivateUserAsync(user.UserId);
// 用户组管理
await idp.AddUserToGroupAsync(new UserGroupRequest
{
UserId = user.UserId,
GroupId = "00g123456789"
});
var groups = await idp.ListGroupsAsync();

鉴权机制

  • 每个请求通过 Authorization: SSWS {ApiToken} 头携带 API Token。
  • Token 在 Okta 管理控制台创建后获取,为静态令牌。

已知限制

不包含 Token 自动刷新;调用方需自行管理令牌生命周期。Provider 注册为 Transient,避免 Singleton 捕获 typed HttpClient。

100%

滚轮或按钮缩放 · 放大后拖动画面 · 双击切换 100% / 200%