我正在将Twitter身份验证应用到React Native应用程序中,该应用程序使用大量Firebase功能,包括Firebase Auth。
就我而言,Firebase Auth SDK和FirebaseUI(它们都能在网络上传输整个身份验证流程)尚未与React Native桥接(?)。所以我必须自己承担auth流程的第一部分。第一部分我的意思是获取提供者访问令牌并将其转换为凭据,然后可以将其传递给Firebase Auth signInWithCredential 。
这就是我使用Facebook SDK为Facebook做的事情。
const fbAuth = async () => {
const result = await LoginManager.logInWithReadPermissions(facebookPermissions);
if (result.isCancelled)
throw error;
const { accessToken } = await AccessToken.getCurrentAccessToken();
const facebookCredential = firebaseAuth.FacebookAuthProvider.credential(accessToken.toString());
await firebaseAuth().signInWithCredential(facebookCredential);
}
Firebase Auth为我承担其余部分并且我已成功完成。
我想为Twitter做同样的事情。不幸的是,没有Twitter SDK,这将允许我通过Facebook SDK等几个步骤实现这一点。
我似乎必须自己为Access Token做整个OAuth舞蹈。
我想了解一下处理这种情况的最佳做法。
Twitter用例 根据Twitter docs,我必须直接调用API。这些调用显然包含秘密,这些秘密无法存储在客户端应用程序中,我真的不想创建一个Auth服务器(因为我不确定流程是如何工作的)。我想尽可能保持客户端级别。
很想听听有关如何实现这一目标的意见以及流程的样子。