【发布时间】:2019-10-25 17:06:47
【问题描述】:
为了创建 firebase 自定义身份验证令牌,我使用的是第三方 JWT 库 (https://github.com/jwtk/jjwt)
在这个库中,有一个选项可以添加 firebase 自定义令牌声明,例如(alg、iss、sub、aud、iat 等)
所有 firebase 信息都可以在 https://firebase.google.com/docs/auth/admin/create-custom-tokens#create_custom_tokens_using_a_third-party_jwt_library 获得
private_key = "-----BEGIN PRIVATE KEY-----... -----END PRIVATE KEY-----";
我在 signWith 方法中传递了私钥,使用 base64 编码
val encodeKey = Base64.encode(privateKey.toByteArray(), android.util.Base64.DEFAULT)
val jwt = Jwts.builder().setIssuer("firebase-adminsdk-kywht@...")
.setSubject("firebase-adminsdk-kywht@...")
.setAudience("https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit")
.setExpiration(calendar.time) //a java.util.Date
.setIssuedAt(Date())
.setId(UUID.randomUUID().toString())signWith(SignatureAlgorithm.RS512 ,encodeKey).compact()
我已经使用了上面的代码,但是没有用。 有人知道如何传递私钥来生成令牌吗?
【问题讨论】:
标签: android firebase firebase-authentication jwt