【发布时间】:2018-05-09 18:59:26
【问题描述】:
我正在开发一个需要通过服务器应用程序进行身份验证的 Android 应用程序。服务器应用程序是一个使用 Spring Security 的 Spring Boot 应用程序。服务器应用程序使用自定义身份验证提供程序为用户设置授予权限。
这是我用来检索 idToken 的代码:
FirebaseToken firebaseToken = null;
try {
FirebaseApp app = FirebaseUtil.getFirebaseApp();
firebaseToken = FirebaseAuth.getInstance(app).verifyIdTokenAsync(authenticationToken.getIdToken()).get();
} catch ( InterruptedException | ExecutionException | CancellationException e ) {
throw new AuthenticationServiceException(e.getMessage());
}
return firebaseToken;
我有一个 Firebase 令牌,我可以像这样检索声明:
Map<String, Object> claims = token.getClaims();
然后我可以遍历声明并像这样创建权限:
List<GrantedAuthority> authorities = Lists.newArrayList();
authorities.add(new SimpleGrantedAuthority("some_role"));
我不知道如何使用 Firebase 控制台创建声明。这可能吗?我怀疑我需要使用 Firebase 数据库,但在 firebase 文档中找不到我正在寻找的确切内容。
【问题讨论】:
标签: firebase spring-security firebase-authentication