Passwordless.dev 文档
⮐ Passwordless.dev Documentation我的博客联系我
  • 关于
  • 首页
  • 关于 Passwordless.dev
  • 发行说明
  • 开始使用
  • 后端 API 参考
  • Open API
  • 后端
    • .NET
    • Java
    • Node.js
    • PHP
    • Python 2
    • Python 3+
    • 创建 SDK
  • 前端
    • JavaScript
    • Android
      • 故障排除
    • iOS
    • ASP.NET
    • React
  • 自托管
    • 配置
    • 本地运行
    • 健康检查
    • 高级
  • 错误
  • 管理控制台
    • 应用程序
    • 计费
    • 管理员
  • 概念
由 GitBook 提供支持
在本页
  • 入门
  • 示例
  • 创建 PasswordlessClient 实例:
  • 注册通行密钥
  • 验证用户
  • 自定义
  • 示例
  1. 后端

Java

对应的官方页面地址

入门

1、将我们的包的依赖项添加到您的 pom.xml 中:

<dependency>
    <groupId>com.bitwarden</groupId>
    <artifactId>passwordless</artifactId>
    <version>1.0.5</version>
</dependency>

示例

此 Java 实现与 Java 8 及更高版本兼容。注册函数可能看起来像这样:

创建 PasswordlessClient 实例:

import com.bitwarden.passwordless.*;

import java.io.*;

public class PasswordlessJavaSdkExample implements Closeable {

    private final PasswordlessClient client;

    public PasswordlessClientExample() {
        PasswordlessOptions options = PasswordlessOptions.builder()
                .apiSecret("your_api_secret")
                .build();

        client = PasswordlessClientBuilder.create(options)
                .build();
    }

    @Override
    public void close() throws IOException {
        client.close();
    }
}

注意:使用带有 close 方法的 PasswordlessClient 后,需要关闭底层 http 客户端资源。

注册通行密钥

import com.bitwarden.passwordless.*;
import com.bitwarden.passwordless.error.*;
import com.bitwarden.passwordless.model.*;

import java.io.*;
import java.util.*;

public class PasswordlessJavaSdkExample {

    private final PasswordlessClient client;

    // 构造函数

    public String getRegisterToken(String alias) throws PasswordlessApiException, IOException {

        // 从会话中获取现有用户 ID 或创建新用户
        String userId = UUID.randomUUID().toString();

        // 提供给 Api 的选项
        RegisterToken registerToken = RegisterToken.builder()
                // 您的用户 id
                .userId(userId)
                // 例如用户电子邮件地址,将显示在浏览器 UI 中
                .username(alias)
                // 可选:将此用户 ID 链接到别名(例如电子邮件地址)
                .aliases(Arrays.asList(alias))
                .build();

        RegisteredToken response = client.registerToken(registerToken);

        // 返回此令牌
        return response.getToken();
    }
}

验证用户

import com.bitwarden.passwordless.*;
import com.bitwarden.passwordless.error.*;
import com.bitwarden.passwordless.model.*;

import java.io.*;

public class PasswordlessJavaSdkExample {

    private final PasswordlessClient client;

    // Constructor

    public VerifiedUser verifySignInToken(String token) throws PasswordlessApiException, IOException {

        VerifySignIn signInVerify = VerifySignIn.builder()
                .token(token)
                .build();

        // 用户登录、设置 cookie 等
        return client.signIn(signInVerify);
    }
}

自定义

通过向 apiSecret 提供您的应用程序的私有 API 密钥来自定义 PasswordlessOptions。如果您喜欢自行托管,也可以更改 apiUrl。

通过提供 httpClient CloseableHttpClient 实例和 objectMapper ObjectMapper 来自定义PasswordlessClientBuilder。

示例

有关使用此库的 Spring Boot 3 应用程序,请参阅 Passwordless Java 示例。

上一页.NET下一页Node.js

最后更新于1年前