/
saml.js
53 lines (48 loc) · 1.84 KB
/
saml.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// These samples are intended for Web so this import would normally be
// done in HTML however using modules here is more convenient for
// ensuring sample correctness offline.
import firebase from "firebase/app";
import "firebase/auth";
function samlProvider() {
// [START auth_saml_provider_create]
const provider = new firebase.auth.SAMLAuthProvider('saml.myProvider');
// [END auth_saml_provider_create]
}
function samlSignInPopup(provider) {
// [START auth_saml_signin_popup]
firebase.auth().signInWithPopup(provider)
.then((result) => {
// User is signed in.
// Identity provider data available in result.additionalUserInfo.profile,
// or from the user's ID token obtained from result.user.getIdToken()
// as an object in the firebase.sign_in_attributes custom claim
// This is also available from result.user.getIdTokenResult()
// idTokenResult.claims.firebase.sign_in_attributes.
})
.catch((error) => {
// Handle / display error.
// ...
});
// [END auth_saml_signin_popup]
}
function samlSignInRedirect(provider) {
// [START auth_saml_signin_redirect]
firebase.auth().signInWithRedirect(provider);
// [END auth_saml_signin_redirect]
}
function samlSignInRedirectResult(provider) {
// [START auth_saml_signin_redirect_result]
firebase.auth().getRedirectResult()
.then((result) => {
// User is signed in.
// Provider data available in result.additionalUserInfo.profile,
// or from the user's ID token obtained from result.user.getIdToken()
// as an object in the firebase.sign_in_attributes custom claim
// This is also available from result.user.getIdTokenResult()
// idTokenResult.claims.firebase.sign_in_attributes.
}).catch((error) => {
// Handle / display error.
// ...
});
// [END auth_saml_signin_redirect_result]
}