What is the purpose of this code in Firebase auth?
I looked at the FirebaseUI sign-in methods. on the first page of the explanation there is a "Sign in with a pre-built UI" as shown here: Easily add sign-in to your Android app with FirebaseUI. This page contains the following code:
// Choose authentication providers
List<AuthUI.IdpConfig> providers = Arrays.asList(
new AuthUI.IdpConfig.EmailBuilder().build(),
new AuthUI.IdpConfig.PhoneBuilder().build(),
new AuthUI.IdpConfig.GoogleBuilder().build(),
new AuthUI.IdpConfig.FacebookBuilder().build(),
new AuthUI.IdpConfig.TwitterBuilder().build());
// Create and launch sign-in intent
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setAvailableProviders(providers)
.build(),
RC_SIGN_IN);
And then
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
IdpResponse response = IdpResponse.fromResultIntent(data);
if (resultCode == RESULT_OK) {
// Successfully signed in
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
// ...
} else {
// Sign in failed. If response is null the user canceled the
// sign-in flow using the back button. Otherwise check
// response.getError().getErrorCode() and handle the error.
// ...
}
}
}
But, when I look at their example of the how to authenticate with phone via SMS, this code is no where to be seen, yet the verification works.
The phone authentication code can be seen in their snippet:
PhoneAuthActivity.java
So when do I need to use this code and when not? What is the purpose of this part?
android firebase firebase-authentication
add a comment |
I looked at the FirebaseUI sign-in methods. on the first page of the explanation there is a "Sign in with a pre-built UI" as shown here: Easily add sign-in to your Android app with FirebaseUI. This page contains the following code:
// Choose authentication providers
List<AuthUI.IdpConfig> providers = Arrays.asList(
new AuthUI.IdpConfig.EmailBuilder().build(),
new AuthUI.IdpConfig.PhoneBuilder().build(),
new AuthUI.IdpConfig.GoogleBuilder().build(),
new AuthUI.IdpConfig.FacebookBuilder().build(),
new AuthUI.IdpConfig.TwitterBuilder().build());
// Create and launch sign-in intent
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setAvailableProviders(providers)
.build(),
RC_SIGN_IN);
And then
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
IdpResponse response = IdpResponse.fromResultIntent(data);
if (resultCode == RESULT_OK) {
// Successfully signed in
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
// ...
} else {
// Sign in failed. If response is null the user canceled the
// sign-in flow using the back button. Otherwise check
// response.getError().getErrorCode() and handle the error.
// ...
}
}
}
But, when I look at their example of the how to authenticate with phone via SMS, this code is no where to be seen, yet the verification works.
The phone authentication code can be seen in their snippet:
PhoneAuthActivity.java
So when do I need to use this code and when not? What is the purpose of this part?
android firebase firebase-authentication
add a comment |
I looked at the FirebaseUI sign-in methods. on the first page of the explanation there is a "Sign in with a pre-built UI" as shown here: Easily add sign-in to your Android app with FirebaseUI. This page contains the following code:
// Choose authentication providers
List<AuthUI.IdpConfig> providers = Arrays.asList(
new AuthUI.IdpConfig.EmailBuilder().build(),
new AuthUI.IdpConfig.PhoneBuilder().build(),
new AuthUI.IdpConfig.GoogleBuilder().build(),
new AuthUI.IdpConfig.FacebookBuilder().build(),
new AuthUI.IdpConfig.TwitterBuilder().build());
// Create and launch sign-in intent
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setAvailableProviders(providers)
.build(),
RC_SIGN_IN);
And then
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
IdpResponse response = IdpResponse.fromResultIntent(data);
if (resultCode == RESULT_OK) {
// Successfully signed in
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
// ...
} else {
// Sign in failed. If response is null the user canceled the
// sign-in flow using the back button. Otherwise check
// response.getError().getErrorCode() and handle the error.
// ...
}
}
}
But, when I look at their example of the how to authenticate with phone via SMS, this code is no where to be seen, yet the verification works.
The phone authentication code can be seen in their snippet:
PhoneAuthActivity.java
So when do I need to use this code and when not? What is the purpose of this part?
android firebase firebase-authentication
I looked at the FirebaseUI sign-in methods. on the first page of the explanation there is a "Sign in with a pre-built UI" as shown here: Easily add sign-in to your Android app with FirebaseUI. This page contains the following code:
// Choose authentication providers
List<AuthUI.IdpConfig> providers = Arrays.asList(
new AuthUI.IdpConfig.EmailBuilder().build(),
new AuthUI.IdpConfig.PhoneBuilder().build(),
new AuthUI.IdpConfig.GoogleBuilder().build(),
new AuthUI.IdpConfig.FacebookBuilder().build(),
new AuthUI.IdpConfig.TwitterBuilder().build());
// Create and launch sign-in intent
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setAvailableProviders(providers)
.build(),
RC_SIGN_IN);
And then
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
IdpResponse response = IdpResponse.fromResultIntent(data);
if (resultCode == RESULT_OK) {
// Successfully signed in
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
// ...
} else {
// Sign in failed. If response is null the user canceled the
// sign-in flow using the back button. Otherwise check
// response.getError().getErrorCode() and handle the error.
// ...
}
}
}
But, when I look at their example of the how to authenticate with phone via SMS, this code is no where to be seen, yet the verification works.
The phone authentication code can be seen in their snippet:
PhoneAuthActivity.java
So when do I need to use this code and when not? What is the purpose of this part?
android firebase firebase-authentication
android firebase firebase-authentication
asked Nov 21 '18 at 22:28
TTnoteTTnote
899
899
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
There are two main ways to implement Firebase Authentication:
- Use the so-called headless API and build your own API and flows on top of that.
- Use FirebaseUI, which is a UI library that (in this case) encapsulates the Firebase Authentication sign-in flow. It calls the Firebase Authentication API under the hood, as you can see in its open source implementation.
The first snippet you showed configures FirebaseUI, specifically saying what providers (Google, Facebook, Email+Password, Phone, Twitter) are enabled and then starting an activity to kick off the flow.
The second snippet uses the Firebase Authentication API directly to implement a part of the authentication flow.
If you're using FirebaseUI, follow the documentation for configuring phone number auth in its repo. As far as I can see there, this doesn't require the onActivityResult
you shared. Most likely that flow is already encapsulated in FirebaseUI itself.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53421321%2fwhat-is-the-purpose-of-this-code-in-firebase-auth%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
There are two main ways to implement Firebase Authentication:
- Use the so-called headless API and build your own API and flows on top of that.
- Use FirebaseUI, which is a UI library that (in this case) encapsulates the Firebase Authentication sign-in flow. It calls the Firebase Authentication API under the hood, as you can see in its open source implementation.
The first snippet you showed configures FirebaseUI, specifically saying what providers (Google, Facebook, Email+Password, Phone, Twitter) are enabled and then starting an activity to kick off the flow.
The second snippet uses the Firebase Authentication API directly to implement a part of the authentication flow.
If you're using FirebaseUI, follow the documentation for configuring phone number auth in its repo. As far as I can see there, this doesn't require the onActivityResult
you shared. Most likely that flow is already encapsulated in FirebaseUI itself.
add a comment |
There are two main ways to implement Firebase Authentication:
- Use the so-called headless API and build your own API and flows on top of that.
- Use FirebaseUI, which is a UI library that (in this case) encapsulates the Firebase Authentication sign-in flow. It calls the Firebase Authentication API under the hood, as you can see in its open source implementation.
The first snippet you showed configures FirebaseUI, specifically saying what providers (Google, Facebook, Email+Password, Phone, Twitter) are enabled and then starting an activity to kick off the flow.
The second snippet uses the Firebase Authentication API directly to implement a part of the authentication flow.
If you're using FirebaseUI, follow the documentation for configuring phone number auth in its repo. As far as I can see there, this doesn't require the onActivityResult
you shared. Most likely that flow is already encapsulated in FirebaseUI itself.
add a comment |
There are two main ways to implement Firebase Authentication:
- Use the so-called headless API and build your own API and flows on top of that.
- Use FirebaseUI, which is a UI library that (in this case) encapsulates the Firebase Authentication sign-in flow. It calls the Firebase Authentication API under the hood, as you can see in its open source implementation.
The first snippet you showed configures FirebaseUI, specifically saying what providers (Google, Facebook, Email+Password, Phone, Twitter) are enabled and then starting an activity to kick off the flow.
The second snippet uses the Firebase Authentication API directly to implement a part of the authentication flow.
If you're using FirebaseUI, follow the documentation for configuring phone number auth in its repo. As far as I can see there, this doesn't require the onActivityResult
you shared. Most likely that flow is already encapsulated in FirebaseUI itself.
There are two main ways to implement Firebase Authentication:
- Use the so-called headless API and build your own API and flows on top of that.
- Use FirebaseUI, which is a UI library that (in this case) encapsulates the Firebase Authentication sign-in flow. It calls the Firebase Authentication API under the hood, as you can see in its open source implementation.
The first snippet you showed configures FirebaseUI, specifically saying what providers (Google, Facebook, Email+Password, Phone, Twitter) are enabled and then starting an activity to kick off the flow.
The second snippet uses the Firebase Authentication API directly to implement a part of the authentication flow.
If you're using FirebaseUI, follow the documentation for configuring phone number auth in its repo. As far as I can see there, this doesn't require the onActivityResult
you shared. Most likely that flow is already encapsulated in FirebaseUI itself.
answered Nov 22 '18 at 0:59
Frank van PuffelenFrank van Puffelen
228k28374398
228k28374398
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53421321%2fwhat-is-the-purpose-of-this-code-in-firebase-auth%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown