如何在 Ballerina 中使用 JWT
How to use JWT with Ballerina
我了解了 JWT,我想我明白它是如何工作的,但是当涉及到芭蕾舞演员的例子时,我什么都不懂:
如何设置要与 JWT 一起使用的算法和过期时间?
如何使用自定义私钥?
如何从此示例中获取令牌,例如“https://ballerina.io/learn/by-example/secured-service-with-jwt-auth”?
可能是我如何使用 CURL 获取令牌(用于测试目的)?
另外我想知道如何在不需要具有用户和密码的数据库的情况下使用 JWT..
我对安全和芭蕾舞女演员也完全陌生。有人可以帮忙吗?
Ballerina JWT 模块[1] 提供以下功能。
发布 JWT
您可以通过提供 jwt:JwtIssuerConfig
来 issue/generate JWT。您可以配置用户名、发行者、受众、到期时间、签名算法、自定义声明和签名配置(key-store 配置)。请参考 API jwt:JwtIssuerConfig
[2]. Example code can be found at [3].
的文档
验证 JWT
您可以通过提供 jwt:JwtValidatorConfig
来验证 JWT。您可以配置预期的发行者、预期的受众、时钟偏差、缓存配置和验证签名的配置(trust-store 配置)。请参考 API jwt: JwtValidatorConfig
[4]. Example code can be found at [3] 的文档。
使用 JWT 保护服务
您可以使用 JWT 来保护 HTTP 服务。入站 HTTP 请求的 Authorization
header 将根据提供的配置进行验证和认证。请参考 jwt:InboundJwtAuthProvider
[5]. Example code can be found at [6].
的 API 文档
使用 JWT 调用服务
您可以使用JWT 调用通过JWT 认证的外部服务器。根据提供的配置,使用 Authorization
header 准备出站 HTTP 请求。请参考 API jwt:OutboundJwtAuthProvider
[7]. Example code can be found at [8] 的文档。
问题答案:
How do i set the algorithm which i want to use along with JWT and the expiration time?
您可以如上所述配置 jwt:JwtIssuerConfig
[2]。
How do i use a custom private key?
您可以使用自定义私钥配置 jwt:JwtIssuerConfig
[2] 的 jwt:JwtKeyStoreConfig
字段。
How can i get the token from this example for instance "https://ballerina.io/learn/by-example/secured-service-with-jwt-auth"?
May be how can i get the token using CURL (for testing purposes)?
这是一个使用 JWT 保护的示例服务。示例底部提供了用于调用此服务的令牌。还提供了如何使用 CURL 调用此服务。
Also i'm wondering how to use the JWT without the need of having a database with users and passwords..
以上所有示例,不需要任何数据库或文件存储。所有配置都在代码本身中提供。如果有需要从数据库中检索数据,那也是可以的。
参考文献:
1 https://ballerina.io/learn/api-docs/ballerina/jwt/index.html
2 https://ballerina.io/learn/api-docs/ballerina/jwt/records/JwtIssuerConfig.html
3 https://ballerina.io/learn/by-example/jwt-issue-validate.html
4 https://ballerina.io/learn/api-docs/ballerina/jwt/records/JwtValidatorConfig.html
5 https://ballerina.io/learn/api-docs/ballerina/jwt/objects/InboundJwtAuthProvider.html
6 https://ballerina.io/learn/by-example/secured-service-with-jwt-auth.html
7 https://ballerina.io/learn/api-docs/ballerina/jwt/objects/OutboundJwtAuthProvider.html
8 https://ballerina.io/learn/by-example/secured-client-with-jwt-auth.html
我了解了 JWT,我想我明白它是如何工作的,但是当涉及到芭蕾舞演员的例子时,我什么都不懂:
如何设置要与 JWT 一起使用的算法和过期时间?
如何使用自定义私钥?
如何从此示例中获取令牌,例如“https://ballerina.io/learn/by-example/secured-service-with-jwt-auth”?
可能是我如何使用 CURL 获取令牌(用于测试目的)?
另外我想知道如何在不需要具有用户和密码的数据库的情况下使用 JWT..
我对安全和芭蕾舞女演员也完全陌生。有人可以帮忙吗?
Ballerina JWT 模块[1] 提供以下功能。
发布 JWT
您可以通过提供
jwt:JwtIssuerConfig
来 issue/generate JWT。您可以配置用户名、发行者、受众、到期时间、签名算法、自定义声明和签名配置(key-store 配置)。请参考 APIjwt:JwtIssuerConfig
[2]. Example code can be found at [3]. 的文档
验证 JWT
您可以通过提供
jwt:JwtValidatorConfig
来验证 JWT。您可以配置预期的发行者、预期的受众、时钟偏差、缓存配置和验证签名的配置(trust-store 配置)。请参考 APIjwt: JwtValidatorConfig
[4]. Example code can be found at [3] 的文档。使用 JWT 保护服务
您可以使用 JWT 来保护 HTTP 服务。入站 HTTP 请求的
Authorization
header 将根据提供的配置进行验证和认证。请参考jwt:InboundJwtAuthProvider
[5]. Example code can be found at [6]. 的 API 文档
使用 JWT 调用服务
您可以使用JWT 调用通过JWT 认证的外部服务器。根据提供的配置,使用
Authorization
header 准备出站 HTTP 请求。请参考 APIjwt:OutboundJwtAuthProvider
[7]. Example code can be found at [8] 的文档。
问题答案:
How do i set the algorithm which i want to use along with JWT and the expiration time?
您可以如上所述配置 jwt:JwtIssuerConfig
[2]。
How do i use a custom private key?
您可以使用自定义私钥配置 jwt:JwtIssuerConfig
[2] 的 jwt:JwtKeyStoreConfig
字段。
How can i get the token from this example for instance "https://ballerina.io/learn/by-example/secured-service-with-jwt-auth"? May be how can i get the token using CURL (for testing purposes)?
这是一个使用 JWT 保护的示例服务。示例底部提供了用于调用此服务的令牌。还提供了如何使用 CURL 调用此服务。
Also i'm wondering how to use the JWT without the need of having a database with users and passwords..
以上所有示例,不需要任何数据库或文件存储。所有配置都在代码本身中提供。如果有需要从数据库中检索数据,那也是可以的。
参考文献:
1 https://ballerina.io/learn/api-docs/ballerina/jwt/index.html
2 https://ballerina.io/learn/api-docs/ballerina/jwt/records/JwtIssuerConfig.html
3 https://ballerina.io/learn/by-example/jwt-issue-validate.html
4 https://ballerina.io/learn/api-docs/ballerina/jwt/records/JwtValidatorConfig.html
5 https://ballerina.io/learn/api-docs/ballerina/jwt/objects/InboundJwtAuthProvider.html
6 https://ballerina.io/learn/by-example/secured-service-with-jwt-auth.html
7 https://ballerina.io/learn/api-docs/ballerina/jwt/objects/OutboundJwtAuthProvider.html
8 https://ballerina.io/learn/by-example/secured-client-with-jwt-auth.html