Krampus 0.4.6

Krampus 0.4.6

Christian BraunChristian维护。



Krampus 0.4.6

  • 来源
  • Christian Braun

Krampus

Version License Platform

Krampus是Santa的小助手,提供了网络请求的授权。目前存在一个用于keycloak的授权实现。支持使用授权代码和用户名、密码进行登录。此外,Krampus还处理访问令牌刷新,并将刷新令牌安全地存储在用户的keychain中。Krampus旨在与基于资源的网络库Santa无缝协作。

配置您的授权

let webservice = ImplWebservice()
lazy var authorization = {
    return Krampus.keycloakAuthorization(
        baseUrl: "https://keycloak-url.de",
        clientId: "client",
        realm: "realm",
        redirectUrl: "needed for login with auth code",
        keychain: CredentialsKeychain(credentialsServiceName: "KeychainTestKrampusLogin"),
        webservice: webservice)
}()

要使用一个运行中的keycloak实例登录

authorization.login(withUsername: "username", password: "password") { result in
    switch result {
    case .success:
        // The credentials are already saved within the keychain. 
        // Show the user that the login was successful
    case .failure(let error):
        // Handle error
    }
}

启用Santa Web服务的授权

let webservice = ImplWebservice()
webservice.authorization = authorization

功能

  • 解析JWT到可访问的字典

Keycloak

  • 使用授权代码登录
  • 使用用户名和密码登录
  • 注销
  • 处理访问令牌刷新
  • 在用户的keychain中存储Keycloak凭证
  • 支持离线令牌

待办事项

  • 编写更多测试
  • 提供使用文档

要求

  • Swift 5
  • iOS 12.0 或更高版本

安装

Krampus 可通过 CocoaPods 获得。要安装它,只需将以下行添加到您的 Podfile 中

pod 'Krampus'

作者

Christian Braun

许可证

Krampus 支持 MIT 许可证。有关更多信息,请参阅 LICENSE 文件。