如何正确实例化GoogleIdTokenVerifier/.setAudience()做什么?

cre*_*not 6 java android google-authentication google-signin

我的指南

如果遵循这篇关于在服务器端验证Google-Account-Tokens的Google文档,但我有点困惑.

我的问题

GoogleIdTokenVerifier googleIdTokenVerifier = new GoogleIdTokenVerifier.Builder(new NetHttpTransport(), new JacksonFactory())
                                .setAudience(Collections.singletonList(CLIENT_ID))
                                .build();
Run Code Online (Sandbox Code Playgroud)

在这段代码我想通了,在transport和jsonFactory参数可以被填上new NetHttpTransport(),并new JacksonFactory() 在这里.它还描述了如何获得AudienceString,但我无法弄清楚它是什么.我无法测试它,但我的问题是我是否可以在没有它的情况下使用它,.setAudience()或者我是否需要它以及它的用途.

cre*_*not 4

你必须.setAudience()通过所有客户ID的。您可以从凭证页面ID获取您客户的凭证。这里解释一下。

感谢@StevenSoneff。

如果你没有掌握基本概念

对于您希望服务器接受的每个客户端,您需要在“开发人员控制台”中创建一个项目。客户端通过“SHA-1”指纹来区分。例如,您可以拥有一个调试项目(将获取您的调试指纹)和一个发布项目。要使两者都起作用,您必须将两个“ID”添加到服务器的“GoogleIdTokenVerifier”的“.setAudience()”中。