如何从Okta API获取密码限制?

时间:2017-05-18 18:15:05

标签: .net okta

我使用Okta作为自定义用户管理Web解决方案的基础。在后端我有ASP.NET我正在使用OKTA特定的SDK与okta进行通信。

在前端我使用的是基于Angular的UI,但是没有从这里与Okta通信(没有CORS)。我能够在组和用户中登录,验证会话,CRUD操作,因此除了密码限制外几乎所有工作都正常。

我不想硬编码,而是通过API动态获取它们,并在工具提示中显示密码复杂性限制或验证我的表单。我可以找到要使用的模型对象,但我不知道如何通过API获取它,不知道哪个客户端对象将此策略,密码策略或复杂性对象包含为GET方法。文件很差,所以如果有人能提供帮助,我将非常感激。

1 个答案:

答案 0 :(得分:0)

可以从Okta API中检索密码复杂性规则,但目前还没有详细记录。 Policy API正是您要找的。

Okta .NET SDK不支持此API,但您可以发出原始HTTP请求以列出所有密码策略:

GET https://dev-xxxxx.oktapreview.com/api/v1/policies?type=PASSWORD
Authorization: SSWS your-token

200 OK
[
  {
    "type": "PASSWORD",
    "id": "00p9o1nik8khgmupS0h7",
    "status": "ACTIVE",
    "name": "Default Policy",
    // snip...
    "settings": {
      "password": {
        "complexity": {
          "minLength": 8,
          "minLowerCase": 1,
          "minUpperCase": 1,
          "minNumber": 1,
          "minSymbol": 0,
          "excludeUsername": true
        },
      },
      // snip...
    },
    // snip...
  }
]

您应该能够提取复杂性规则并为用户呈现它们。

完全披露:我在Okta工作。 (我将确保将来更容易实现这一目标!)