Firebase Database Authentication Swift
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I implemented the log-in and registration views for the Authentication via Firebase. Then how can I authenticate to my database? I changed the rules and I put:
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid"
}
}
}
}
I also wrote the code for obtain the User UID, but how can I say to my database that I'm authenticated?
PS: I need the example in Swift.
swift firebase firebase-realtime-database firebase-security-rules
add a comment |
I implemented the log-in and registration views for the Authentication via Firebase. Then how can I authenticate to my database? I changed the rules and I put:
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid"
}
}
}
}
I also wrote the code for obtain the User UID, but how can I say to my database that I'm authenticated?
PS: I need the example in Swift.
swift firebase firebase-realtime-database firebase-security-rules
Should help: firebase.google.com/docs/auth/ios/start
– Sayalee Pote
Nov 16 '18 at 13:11
I already checked it. The fact is, when I'm logging in, I'm receiving the UID and with this UID how can I say to my database that I can have the right permissions?
– Pietro Messineo
Nov 16 '18 at 13:12
I am having a hard time understandnig your question. The rules you shared validate that a user can only write their own node. What problem are you having with the corresponding code?
– Frank van Puffelen
Nov 16 '18 at 14:11
Basically I want to read from my database, after that I set that rules above. But when I'm trying to do it I'm receiving the message: failed: permission_denied on console. For read I'm using: let ref = Database.database().reference() ref.child("utenti").observe(.value) { (snap) in .....
– Pietro Messineo
Nov 16 '18 at 16:17
The question is pretty unclear, and the above comment adds to the confusion. Are you saying you want to change the rules on the fly? As in I want to read from my database and then after that I set that rules above? Why would you want to do that? Can you provide a use case and or perhaps some code that demonstrates what you're trying to do? Please take a moment and review How do I ask a good question? and How to create a Minimal, Complete, and Verifiable example
– Jay
Nov 16 '18 at 18:39
add a comment |
I implemented the log-in and registration views for the Authentication via Firebase. Then how can I authenticate to my database? I changed the rules and I put:
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid"
}
}
}
}
I also wrote the code for obtain the User UID, but how can I say to my database that I'm authenticated?
PS: I need the example in Swift.
swift firebase firebase-realtime-database firebase-security-rules
I implemented the log-in and registration views for the Authentication via Firebase. Then how can I authenticate to my database? I changed the rules and I put:
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid"
}
}
}
}
I also wrote the code for obtain the User UID, but how can I say to my database that I'm authenticated?
PS: I need the example in Swift.
swift firebase firebase-realtime-database firebase-security-rules
swift firebase firebase-realtime-database firebase-security-rules
edited Nov 16 '18 at 14:09
Frank van Puffelen
245k30389418
245k30389418
asked Nov 16 '18 at 12:26
Pietro MessineoPietro Messineo
133212
133212
Should help: firebase.google.com/docs/auth/ios/start
– Sayalee Pote
Nov 16 '18 at 13:11
I already checked it. The fact is, when I'm logging in, I'm receiving the UID and with this UID how can I say to my database that I can have the right permissions?
– Pietro Messineo
Nov 16 '18 at 13:12
I am having a hard time understandnig your question. The rules you shared validate that a user can only write their own node. What problem are you having with the corresponding code?
– Frank van Puffelen
Nov 16 '18 at 14:11
Basically I want to read from my database, after that I set that rules above. But when I'm trying to do it I'm receiving the message: failed: permission_denied on console. For read I'm using: let ref = Database.database().reference() ref.child("utenti").observe(.value) { (snap) in .....
– Pietro Messineo
Nov 16 '18 at 16:17
The question is pretty unclear, and the above comment adds to the confusion. Are you saying you want to change the rules on the fly? As in I want to read from my database and then after that I set that rules above? Why would you want to do that? Can you provide a use case and or perhaps some code that demonstrates what you're trying to do? Please take a moment and review How do I ask a good question? and How to create a Minimal, Complete, and Verifiable example
– Jay
Nov 16 '18 at 18:39
add a comment |
Should help: firebase.google.com/docs/auth/ios/start
– Sayalee Pote
Nov 16 '18 at 13:11
I already checked it. The fact is, when I'm logging in, I'm receiving the UID and with this UID how can I say to my database that I can have the right permissions?
– Pietro Messineo
Nov 16 '18 at 13:12
I am having a hard time understandnig your question. The rules you shared validate that a user can only write their own node. What problem are you having with the corresponding code?
– Frank van Puffelen
Nov 16 '18 at 14:11
Basically I want to read from my database, after that I set that rules above. But when I'm trying to do it I'm receiving the message: failed: permission_denied on console. For read I'm using: let ref = Database.database().reference() ref.child("utenti").observe(.value) { (snap) in .....
– Pietro Messineo
Nov 16 '18 at 16:17
The question is pretty unclear, and the above comment adds to the confusion. Are you saying you want to change the rules on the fly? As in I want to read from my database and then after that I set that rules above? Why would you want to do that? Can you provide a use case and or perhaps some code that demonstrates what you're trying to do? Please take a moment and review How do I ask a good question? and How to create a Minimal, Complete, and Verifiable example
– Jay
Nov 16 '18 at 18:39
Should help: firebase.google.com/docs/auth/ios/start
– Sayalee Pote
Nov 16 '18 at 13:11
Should help: firebase.google.com/docs/auth/ios/start
– Sayalee Pote
Nov 16 '18 at 13:11
I already checked it. The fact is, when I'm logging in, I'm receiving the UID and with this UID how can I say to my database that I can have the right permissions?
– Pietro Messineo
Nov 16 '18 at 13:12
I already checked it. The fact is, when I'm logging in, I'm receiving the UID and with this UID how can I say to my database that I can have the right permissions?
– Pietro Messineo
Nov 16 '18 at 13:12
I am having a hard time understandnig your question. The rules you shared validate that a user can only write their own node. What problem are you having with the corresponding code?
– Frank van Puffelen
Nov 16 '18 at 14:11
I am having a hard time understandnig your question. The rules you shared validate that a user can only write their own node. What problem are you having with the corresponding code?
– Frank van Puffelen
Nov 16 '18 at 14:11
Basically I want to read from my database, after that I set that rules above. But when I'm trying to do it I'm receiving the message: failed: permission_denied on console. For read I'm using: let ref = Database.database().reference() ref.child("utenti").observe(.value) { (snap) in .....
– Pietro Messineo
Nov 16 '18 at 16:17
Basically I want to read from my database, after that I set that rules above. But when I'm trying to do it I'm receiving the message: failed: permission_denied on console. For read I'm using: let ref = Database.database().reference() ref.child("utenti").observe(.value) { (snap) in .....
– Pietro Messineo
Nov 16 '18 at 16:17
The question is pretty unclear, and the above comment adds to the confusion. Are you saying you want to change the rules on the fly? As in I want to read from my database and then after that I set that rules above? Why would you want to do that? Can you provide a use case and or perhaps some code that demonstrates what you're trying to do? Please take a moment and review How do I ask a good question? and How to create a Minimal, Complete, and Verifiable example
– Jay
Nov 16 '18 at 18:39
The question is pretty unclear, and the above comment adds to the confusion. Are you saying you want to change the rules on the fly? As in I want to read from my database and then after that I set that rules above? Why would you want to do that? Can you provide a use case and or perhaps some code that demonstrates what you're trying to do? Please take a moment and review How do I ask a good question? and How to create a Minimal, Complete, and Verifiable example
– Jay
Nov 16 '18 at 18:39
add a comment |
1 Answer
1
active
oldest
votes
try the following format:
cloud firestore
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
realtime database
// Checks auth uid equals database node uid
// In other words, the User can only access their own data
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
The real time database, set as you said will let all the people to be able to access to the database...
– Pietro Messineo
Nov 16 '18 at 20:19
There's an update that ensures the user can only access their own data. That is just a random example, if you can give me more details as to what you want your rules to be like, then I would be able to be more accurate.
– Tajh McDonald
Nov 16 '18 at 20:26
Yes! I done a main view with the log in, and I want that the UID of this user will be able to access to the database. How can I do this? Because with the above rules, everyone can read and write.
– Pietro Messineo
Nov 16 '18 at 20:28
see the updated code, that ensures a certain user can access their own data and not everything
– Tajh McDonald
Nov 16 '18 at 20:29
And Swift side?
– Pietro Messineo
Nov 16 '18 at 20:31
|
show 5 more comments
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%2f53337904%2ffirebase-database-authentication-swift%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
try the following format:
cloud firestore
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
realtime database
// Checks auth uid equals database node uid
// In other words, the User can only access their own data
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
The real time database, set as you said will let all the people to be able to access to the database...
– Pietro Messineo
Nov 16 '18 at 20:19
There's an update that ensures the user can only access their own data. That is just a random example, if you can give me more details as to what you want your rules to be like, then I would be able to be more accurate.
– Tajh McDonald
Nov 16 '18 at 20:26
Yes! I done a main view with the log in, and I want that the UID of this user will be able to access to the database. How can I do this? Because with the above rules, everyone can read and write.
– Pietro Messineo
Nov 16 '18 at 20:28
see the updated code, that ensures a certain user can access their own data and not everything
– Tajh McDonald
Nov 16 '18 at 20:29
And Swift side?
– Pietro Messineo
Nov 16 '18 at 20:31
|
show 5 more comments
try the following format:
cloud firestore
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
realtime database
// Checks auth uid equals database node uid
// In other words, the User can only access their own data
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
The real time database, set as you said will let all the people to be able to access to the database...
– Pietro Messineo
Nov 16 '18 at 20:19
There's an update that ensures the user can only access their own data. That is just a random example, if you can give me more details as to what you want your rules to be like, then I would be able to be more accurate.
– Tajh McDonald
Nov 16 '18 at 20:26
Yes! I done a main view with the log in, and I want that the UID of this user will be able to access to the database. How can I do this? Because with the above rules, everyone can read and write.
– Pietro Messineo
Nov 16 '18 at 20:28
see the updated code, that ensures a certain user can access their own data and not everything
– Tajh McDonald
Nov 16 '18 at 20:29
And Swift side?
– Pietro Messineo
Nov 16 '18 at 20:31
|
show 5 more comments
try the following format:
cloud firestore
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
realtime database
// Checks auth uid equals database node uid
// In other words, the User can only access their own data
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
try the following format:
cloud firestore
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
realtime database
// Checks auth uid equals database node uid
// In other words, the User can only access their own data
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
edited Nov 16 '18 at 20:30
answered Nov 16 '18 at 19:58
Tajh McDonaldTajh McDonald
115
115
The real time database, set as you said will let all the people to be able to access to the database...
– Pietro Messineo
Nov 16 '18 at 20:19
There's an update that ensures the user can only access their own data. That is just a random example, if you can give me more details as to what you want your rules to be like, then I would be able to be more accurate.
– Tajh McDonald
Nov 16 '18 at 20:26
Yes! I done a main view with the log in, and I want that the UID of this user will be able to access to the database. How can I do this? Because with the above rules, everyone can read and write.
– Pietro Messineo
Nov 16 '18 at 20:28
see the updated code, that ensures a certain user can access their own data and not everything
– Tajh McDonald
Nov 16 '18 at 20:29
And Swift side?
– Pietro Messineo
Nov 16 '18 at 20:31
|
show 5 more comments
The real time database, set as you said will let all the people to be able to access to the database...
– Pietro Messineo
Nov 16 '18 at 20:19
There's an update that ensures the user can only access their own data. That is just a random example, if you can give me more details as to what you want your rules to be like, then I would be able to be more accurate.
– Tajh McDonald
Nov 16 '18 at 20:26
Yes! I done a main view with the log in, and I want that the UID of this user will be able to access to the database. How can I do this? Because with the above rules, everyone can read and write.
– Pietro Messineo
Nov 16 '18 at 20:28
see the updated code, that ensures a certain user can access their own data and not everything
– Tajh McDonald
Nov 16 '18 at 20:29
And Swift side?
– Pietro Messineo
Nov 16 '18 at 20:31
The real time database, set as you said will let all the people to be able to access to the database...
– Pietro Messineo
Nov 16 '18 at 20:19
The real time database, set as you said will let all the people to be able to access to the database...
– Pietro Messineo
Nov 16 '18 at 20:19
There's an update that ensures the user can only access their own data. That is just a random example, if you can give me more details as to what you want your rules to be like, then I would be able to be more accurate.
– Tajh McDonald
Nov 16 '18 at 20:26
There's an update that ensures the user can only access their own data. That is just a random example, if you can give me more details as to what you want your rules to be like, then I would be able to be more accurate.
– Tajh McDonald
Nov 16 '18 at 20:26
Yes! I done a main view with the log in, and I want that the UID of this user will be able to access to the database. How can I do this? Because with the above rules, everyone can read and write.
– Pietro Messineo
Nov 16 '18 at 20:28
Yes! I done a main view with the log in, and I want that the UID of this user will be able to access to the database. How can I do this? Because with the above rules, everyone can read and write.
– Pietro Messineo
Nov 16 '18 at 20:28
see the updated code, that ensures a certain user can access their own data and not everything
– Tajh McDonald
Nov 16 '18 at 20:29
see the updated code, that ensures a certain user can access their own data and not everything
– Tajh McDonald
Nov 16 '18 at 20:29
And Swift side?
– Pietro Messineo
Nov 16 '18 at 20:31
And Swift side?
– Pietro Messineo
Nov 16 '18 at 20:31
|
show 5 more comments
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%2f53337904%2ffirebase-database-authentication-swift%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
Should help: firebase.google.com/docs/auth/ios/start
– Sayalee Pote
Nov 16 '18 at 13:11
I already checked it. The fact is, when I'm logging in, I'm receiving the UID and with this UID how can I say to my database that I can have the right permissions?
– Pietro Messineo
Nov 16 '18 at 13:12
I am having a hard time understandnig your question. The rules you shared validate that a user can only write their own node. What problem are you having with the corresponding code?
– Frank van Puffelen
Nov 16 '18 at 14:11
Basically I want to read from my database, after that I set that rules above. But when I'm trying to do it I'm receiving the message: failed: permission_denied on console. For read I'm using: let ref = Database.database().reference() ref.child("utenti").observe(.value) { (snap) in .....
– Pietro Messineo
Nov 16 '18 at 16:17
The question is pretty unclear, and the above comment adds to the confusion. Are you saying you want to change the rules on the fly? As in I want to read from my database and then after that I set that rules above? Why would you want to do that? Can you provide a use case and or perhaps some code that demonstrates what you're trying to do? Please take a moment and review How do I ask a good question? and How to create a Minimal, Complete, and Verifiable example
– Jay
Nov 16 '18 at 18:39