Articles of 火力点authentication

使用Firebase进行Robolectric app测试

我正在尝试为我的演示者编写一个简单的Robolectric测试,该测试使用Firebase数据库和Firebase Auth。 但每次我尝试启动测试时,都会抛出IllegalStateException。 java.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn’t exist. at com.google.firebase.FirebaseApp.getInstance(Unknown Source) at com.google.firebase.FirebaseApp.getInstance(Unknown Source) at com.google.firebase.auth.FirebaseAuth.getInstance(Unknown Source) 我的测试非常简单 @RunWith(RobolectricTestRunner.class) @Config(constants = BuildConfig.class) public class LoginPresenterTest { private LoginPresenter presenter; private LoginMvpView view; @Before public void beforeEachTest() { presenter = new LoginPresenter(); view = new LoginFragment(); } @Test public void attachView_shouldAttachViewToThePresenter() { presenter.attachView(view); assertSame(presenter.getMvpView(), […]

无法将对象转换为JSON

早上好,当我尝试注册或通过我的虚拟设备登录时出现此错误: E/StorageHelpers: Failed to turn object into JSON java.lang.NullPointerException: Attempt to invoke virtual method ‘org.json.JSONObject com.google.firebase.auth.internal.zzm.zzbf()’ on a null object reference at com.google.firebase.auth.internal.zzz.zzi(Unknown Source) at com.google.firebase.auth.internal.zzz.zzg(Unknown Source) at com.google.firebase.auth.FirebaseAuth.zza(Unknown Source) at com.google.firebase.auth.FirebaseAuth$zza.zza(Unknown Source) at com.google.firebase.auth.api.internal.zzbq.zzaa(Unknown Source) at com.google.firebase.auth.api.internal.zzcy.zzal(Unknown Source) at com.google.firebase.auth.api.internal.zzcy.zza(Unknown Source) at com.google.firebase.auth.api.internal.zzdb.zza(Unknown Source) at com.google.firebase.auth.api.internal.zzci.dispatchTransaction(Unknown Source) at com.google.android.gms.internal.firebase_auth.zzb.onTransact(Unknown Source) at android.os.Binder.execTransact(Binder.java:453) 虚拟设备是Xperia Z3 […]

Unity / Firebase如何使用Google进行身份validation?

我正在尝试在Unity游戏项目中实施Firebase身份validation系统。 一切都在网站的控制台面板上正确设置。 我已经阅读了文档,但无法find使用Unity内Firebase中的任何API登录Google的方法。 所以我买了Prime31的Unity GameServices Plugin for Unity。 这是我的问题: 如何在Firebase中使用Google进行身份validation? 我是否需要自己管理Google登录? 在Firebase文档中,我发现: “用户成功登录后,请更换Firebase凭据的访问令牌,并使用Firebase凭据对Firebase进行身份validation:” Firebase.Auth.Credential credential = Firebase.Auth.GoogleAuthProvider.GetCredential(googleIdToken, googleAccessToken); auth.SignInWithCredentialAsync(credential).ContinueWith(task => { //……// }); 如何获得googleIdToken,googleAccessToken作为上述parameter passing? 请帮忙(带代码)。 我非常喜欢Firebase,并希望在没有像PRIME31这样的第三方插件的情况下使用它。

适用于移动应用的Laravel RESTful API身份validation

我想讨论什么是保护API的最佳方法,以便从移动应用程序中使用。 既然没有第三方我觉得OAuth不是一个好选择? JWT会是一个不错的选择吗? 我要理解的难点是如何进行身份validation,以便我可以保护我的API中的数据,除非有人被授权调用它们。 我在服务器端使用Laravel 5.1,而我想调用API的移动应用程序是一个安卓程序。 我希望我不忘记提及任何重要信息。 任何forms的帮助将不胜感激。

如何为从移动和javascript Web应用程序访问的rest API实现OAuth 2.0,如基于令牌的身份validation

我需要为我的REST API实现身份validation和授权机制。 这是从移动应用程序和Web应用程序访问的rest api。 机制我想实现: 所以根据我的理解,我使用的是基于密码的身份validation。 移动应用程序或javascript Web应用程序通过HTTPS post请求发送用户名和密码,以获取有限时间的访问令牌。 问题 因为访问令牌每1小时左右到期。 再次请求最终用户输入用户名和密码。 这是不可接受的。 如果我们将令牌的时间延长了一段时间,那么如果有人处理令牌,他们就可以访问Rest API更长的时间。 由于Web应用程序是javascript应用程序,因此可以在计划文本中轻松使用。 所以我试图了解像facebook和twitter这样的应用程序如何为其原生移动应用程序实现授权。 他们是否通过存储在本地存储中记住访问令牌。 这样如果一些恶意应用程序拥有root权限,那么android手机就可以访问令牌。 对于在javascript和android应用程序中开发的独立Web应用程序,它对上述机制有什么改进?

与Crashlytics一起运行Firebase-Auth + Firebase-UI

我按照Firebase Auth UI页面上的步骤操作,以便在我的Android应用中使用Firebase auth插件解决方案和电话号码validation提供商。 我在我的项目中使用Crashlytics并且我正在从Digits迁移到Firebase,所以这是gradle文件的相关部分: // firebase dependencies compile ‘com.google.firebase:firebase-auth:11.0.1’ compile ‘com.firebaseui:firebase-ui-auth:2.0.1’ compile ‘com.firebase:digitsmigrationhelpers:0.1.1’ compile ‘com.google.android.gms:play-services-auth:11.0.1’ // crashlytics compile(‘com.crashlytics.sdk.android:crashlytics:2.6.8@aar’) { transitive = true; } // digits (to be removed after migration is complete) compile(‘com.digits.sdk.android:digits:2.0.2@aar’) { transitive = true; } 这就是我初始化Fabric的方式: if (Constants.DEBUG) Fabric.with(context, new TwitterCore(authConfig), new Digits.Builder().withTheme(R.style.CustomDigitsTheme).build()); else Fabric.with(context, new TwitterCore(authConfig), new Digits.Builder().withTheme(R.style.CustomDigitsTheme).build(), new Crashlytics()); […]

在Android上使用资源所有者密码凭据实施OAuth2

我需要调用受OAuth2资源所有者密码凭据保护的服务。 我在oauth.net/code上尝试了所有库,但没有成功。 所有这些似乎都没有提供这种身份validation,但似乎很适合3脚认证。 我的用户应该使用用户名和密码登录,但我不想存储用户名和密码。 我想获取访问令牌并不时刷新此令牌。 我的网络通信目前基于spring 4 android和你可以在那里find的resttemplate。 有什么建议,我可以用哪个库? 我认为这是一个常见问题。

Android 4.x中的SSL客户端身份validation

我想创建一个连接到服务器的应用程序。 此服务器使用SSL客户端身份validation 应用程序的用户应该能够选择证书并允许使用它,就像它在浏览器应用程序中实现一样。 在浏览器应用程序中,身份validation按预期工作,因此我使用的证书是有效的。 当我尝试在我的应用程序中连接时,我收到以下错误: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake terminated: ssl=0x2a2d3b38: Failure in SSL library, usually a protocol error error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure (external/openssl/ssl/s3_pkt.c:1290 0x2a2df880:0x00000003) 我试着按照我的实现的android文档。 统一ICS中的密钥库访问 HttpsURLConnection的 这是我的示例活动的代码: public class ClientCertificateActivity extends Activity implements KeyChainAliasCallback { protected static final String TAG = “CERT_TEST”; private String alias; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); […]

Manifest Merger使用最新版本的Firebase失败

我试图在我的gradle文件中使用最新版本的Firebase for android。 我正在尝试建立一个firebase电话号码身份validation,但我不断收到此错误,这是因为我无法find我的问题: Error:Execution failed for task ‘:app:processDebugManifest’. > Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.2) from [com.android.support:design:26.0.2] AndroidManifest.xml:28:13-35 is also present at [com.android.support:customtabs:26.0.1] AndroidManifest.xml:25:13-35 value=(26.0.1). Suggestion: add ‘tools:replace=”android:value”‘ to element at AndroidManifest.xml:26:9-28:38 to override. 这是我的应用程序:gradle文件 apply plugin: ‘com.android.application’ android { compileSdkVersion 26 buildToolsVersion “26.0.1” defaultConfig { applicationId “com.shimetaapp.shimetacustomerapp” minSdkVersion 21 targetSdkVersion 26 versionCode […]

在尝试将一些代码放在builder.setPositiveButton的onClick()方法中时,获取’无法解析方法’addOnCompletionListener()’…’

我正在尝试在AlertDialog.Builder的builder.setPositiveButton方法中放置一些代码。 问题是我收到以下错误: Cannot resolve method ‘addOnCompletionListener(anonymous android.content.DialogInterface.OnClickListener, anonymous com.google.android.gms.tasks.OnCompletionListener) 这是代码: AlertDialog.Builder builder = new AlertDialog.Builder(SignUpActivity.this); builder.setTitle(“Title”); builder.setView(R.layout.customlayout); builder.setPositiveButton(“Continue”, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { //error from below line mAuth.createUserWithEmailAndPassword(userEmail.getText().toString(), userPassword.getText().toString()) .addOnCompleteListener(this, new OnCompleteListener() { @Override public void onComplete(@NonNull Task task) { Log.d(“signUpSuccessful”, “createUserWithEmail:onComplete:” + task.isSuccessful()); // If sign in fails, […]