是的,您需要服务器进行身份验证.您至少需要进行两个不同的API调用:
>通过OAuth向提供者验证用户身份.然后,用户将被重定向到您的回调URL.您可以使用提供程序指定此URL.对于LinkedIn,请参阅this页面,他们将回调URL称为可信端点.
>将用户重定向到回调URL后,您将按照Firebase给出的示例(请参见this页面)生成您的JSON Web令牌(JWT)服务器端,即您是否使用ruby
require "firebase_token_generator"
payload = {:uid => "1", :auth_data => "foo", :other_auth_data => "bar"}
generator = Firebase::FirebaseTokenGenerator.new("")
token = generator.create_token(payload)
然后,将此令牌推送给您的用户.至于为移动应用程序实现此功能,只要在客户端点击了回调URL后,将该令牌包含在对客户端的JSON响应中即可.您可能需要使用WebView来通过提供程序对用户进行身份验证,然后通过覆盖WebViewClient中的shouldInterceptRequest方法来拦截响应.阅读WebViewClient文档以获取更多信息
您将需要自己的服务器来执行涉及Firebase Secret的操作.不要存储此客户端.实际上,请注意Firebase自定义身份验证页面上的说明:
Firebase JWTs should always be generated on a trusted server so that the Firebase Secret which is needed to generate them can be kept private.