How to create unique and safe UID on Admin- Custom Token- Firebase









up vote
0
down vote

favorite












I use custom auth function on my app, in order to login anonymous users (by saving a unique permanent custom token on their device).



The functions work fine both on app side and admin side but I need to provide a unique UID on the admin side- in order to save the user on Firebase.
Here's my code on Admin (index.js):



exports.createToken = functions.https.onCall((data, context) => 
const uid = "?????"; // how to create some unique uid here?
return admin.auth()
.createCustomToken(uid)
.then(customToken =>
console.log(`The customToken is: $customToken`);
return status: 'success', customToken: customToken;
)

);


  • I need to create unique uid (that isn't on my Authentication users
    table already).

  • It should be "safe" (that two users won't get it at the same time).









share|improve this question























  • take a look at nanoid
    – lependu
    Nov 11 at 20:27










  • Thanks, there's also UUID. But I need some solution for firebase and admin- that would be safe
    – SHAI
    Nov 11 at 20:36










  • Have you considered using Firebase Auth and logging in anonymously?
    – Callam
    Nov 11 at 20:38










  • Yes, but then it creates multiple anonymous users- multiple tokens. With the custom token I can be sure the device can't create more than 1 user on my db
    – SHAI
    Nov 11 at 20:41










  • anonymous user is more for a temporary login to the system- for example when buying something for a second. I need something that will stay permanent and custom token gives me this option
    – SHAI
    Nov 11 at 20:43















up vote
0
down vote

favorite












I use custom auth function on my app, in order to login anonymous users (by saving a unique permanent custom token on their device).



The functions work fine both on app side and admin side but I need to provide a unique UID on the admin side- in order to save the user on Firebase.
Here's my code on Admin (index.js):



exports.createToken = functions.https.onCall((data, context) => 
const uid = "?????"; // how to create some unique uid here?
return admin.auth()
.createCustomToken(uid)
.then(customToken =>
console.log(`The customToken is: $customToken`);
return status: 'success', customToken: customToken;
)

);


  • I need to create unique uid (that isn't on my Authentication users
    table already).

  • It should be "safe" (that two users won't get it at the same time).









share|improve this question























  • take a look at nanoid
    – lependu
    Nov 11 at 20:27










  • Thanks, there's also UUID. But I need some solution for firebase and admin- that would be safe
    – SHAI
    Nov 11 at 20:36










  • Have you considered using Firebase Auth and logging in anonymously?
    – Callam
    Nov 11 at 20:38










  • Yes, but then it creates multiple anonymous users- multiple tokens. With the custom token I can be sure the device can't create more than 1 user on my db
    – SHAI
    Nov 11 at 20:41










  • anonymous user is more for a temporary login to the system- for example when buying something for a second. I need something that will stay permanent and custom token gives me this option
    – SHAI
    Nov 11 at 20:43













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I use custom auth function on my app, in order to login anonymous users (by saving a unique permanent custom token on their device).



The functions work fine both on app side and admin side but I need to provide a unique UID on the admin side- in order to save the user on Firebase.
Here's my code on Admin (index.js):



exports.createToken = functions.https.onCall((data, context) => 
const uid = "?????"; // how to create some unique uid here?
return admin.auth()
.createCustomToken(uid)
.then(customToken =>
console.log(`The customToken is: $customToken`);
return status: 'success', customToken: customToken;
)

);


  • I need to create unique uid (that isn't on my Authentication users
    table already).

  • It should be "safe" (that two users won't get it at the same time).









share|improve this question















I use custom auth function on my app, in order to login anonymous users (by saving a unique permanent custom token on their device).



The functions work fine both on app side and admin side but I need to provide a unique UID on the admin side- in order to save the user on Firebase.
Here's my code on Admin (index.js):



exports.createToken = functions.https.onCall((data, context) => 
const uid = "?????"; // how to create some unique uid here?
return admin.auth()
.createCustomToken(uid)
.then(customToken =>
console.log(`The customToken is: $customToken`);
return status: 'success', customToken: customToken;
)

);


  • I need to create unique uid (that isn't on my Authentication users
    table already).

  • It should be "safe" (that two users won't get it at the same time).






firebase firebase-authentication google-cloud-functions firebase-admin






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 11 at 20:34

























asked Nov 11 at 20:22









SHAI

173112




173112











  • take a look at nanoid
    – lependu
    Nov 11 at 20:27










  • Thanks, there's also UUID. But I need some solution for firebase and admin- that would be safe
    – SHAI
    Nov 11 at 20:36










  • Have you considered using Firebase Auth and logging in anonymously?
    – Callam
    Nov 11 at 20:38










  • Yes, but then it creates multiple anonymous users- multiple tokens. With the custom token I can be sure the device can't create more than 1 user on my db
    – SHAI
    Nov 11 at 20:41










  • anonymous user is more for a temporary login to the system- for example when buying something for a second. I need something that will stay permanent and custom token gives me this option
    – SHAI
    Nov 11 at 20:43

















  • take a look at nanoid
    – lependu
    Nov 11 at 20:27










  • Thanks, there's also UUID. But I need some solution for firebase and admin- that would be safe
    – SHAI
    Nov 11 at 20:36










  • Have you considered using Firebase Auth and logging in anonymously?
    – Callam
    Nov 11 at 20:38










  • Yes, but then it creates multiple anonymous users- multiple tokens. With the custom token I can be sure the device can't create more than 1 user on my db
    – SHAI
    Nov 11 at 20:41










  • anonymous user is more for a temporary login to the system- for example when buying something for a second. I need something that will stay permanent and custom token gives me this option
    – SHAI
    Nov 11 at 20:43
















take a look at nanoid
– lependu
Nov 11 at 20:27




take a look at nanoid
– lependu
Nov 11 at 20:27












Thanks, there's also UUID. But I need some solution for firebase and admin- that would be safe
– SHAI
Nov 11 at 20:36




Thanks, there's also UUID. But I need some solution for firebase and admin- that would be safe
– SHAI
Nov 11 at 20:36












Have you considered using Firebase Auth and logging in anonymously?
– Callam
Nov 11 at 20:38




Have you considered using Firebase Auth and logging in anonymously?
– Callam
Nov 11 at 20:38












Yes, but then it creates multiple anonymous users- multiple tokens. With the custom token I can be sure the device can't create more than 1 user on my db
– SHAI
Nov 11 at 20:41




Yes, but then it creates multiple anonymous users- multiple tokens. With the custom token I can be sure the device can't create more than 1 user on my db
– SHAI
Nov 11 at 20:41












anonymous user is more for a temporary login to the system- for example when buying something for a second. I need something that will stay permanent and custom token gives me this option
– SHAI
Nov 11 at 20:43





anonymous user is more for a temporary login to the system- for example when buying something for a second. I need something that will stay permanent and custom token gives me this option
– SHAI
Nov 11 at 20:43


















active

oldest

votes











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',
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
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53252881%2fhow-to-create-unique-and-safe-uid-on-admin-custom-token-firebase%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































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.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • 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.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53252881%2fhow-to-create-unique-and-safe-uid-on-admin-custom-token-firebase%23new-answer', 'question_page');

);

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







Popular posts from this blog

Top Tejano songwriter Luis Silva dead of heart attack at 64

ReactJS Fetched API data displays live - need Data displayed static

政党