How do I log out anonymous user in iOS RevenueCat? - ios

I'm testing a sandbox user that purchased a premium entitlement through revenuecat in iOS. When I log out and log in (or sign up) with another user without deleting and reinstalling the app, I still get access to all the premium content. It seems that revenuecat only creates a new anonymous id when reinstalling the app. How can I log out anonymous user so I don't get access to premium content when I log in with another account to the same app instance?
I tried calling the Purchases.shared.logout() method but that seems to only work on custom user ids and I configure revenuecat with anonymous id.

Related

What API permission is needed when enabling User assignment required? in Azure AD Enterprise application

If in Azure portal, I set Enterprise applications > Properties > User assignment required? to No, then authentication works as expected. However, if I turned it on, users get error Application needs permission to access resources in your organization that only an admin can grant. I understand that I need to add an API permission to my app, but what is it?
Interestingly, if a user has signed in into the app before, then they are not affected when turning the option on. Only users who have never use it are affected
Edit: To clarify, I already have App roles created. Users without app roles can't sign in, as expected. Users WITH app roles who sign in for the first time after the the option turned to Yes get the above error
Finally, I reproduce your issue with the request URL below, the scope also could be another one, e.g. https://storage.azure.com/.default, which has been added in the API permissions of the AD App.
https://login.microsoftonline.com/<tenant0id>/oauth2/v2.0/authorize?
client_id=xxxxxxx
&response_type=code
&redirect_uri=http://localhost
&response_mode=query
&scope=https://management.azure.com/.default
&state=12345
If the User assignment required is set to Yes, I notice it will not promote the user to consent the permissions. (e.g. user_impersonation in the Azure Service Management API.)
To fix the issue, we need the admin consent to the App, just navigate to the API permissions, click the Grant the admin consent for xxx button, then it will work fine.

I can't access to facebook test user's profile on iOS Safari

I have created facebook test user and this is user id '123277648572642'
however I can't access the public profile using this url - facebook.com/123277648572642
what am I doing wrong?
That's expected behaviour, from the Test Users documentation:
A test user is a special Facebook account, invisible to real accounts, which can be created within an app for the purpose of manual or automated testing of that app's Facebook integration.
(emphasis mine)
You should be able to log in as that user using the instructions in the documentation to add content, test if your app is working as expected, etc, but normal/real Facebook users can't see the profile, and you can't see it when logged out.

Users Sync between Firebase Custom Auth and existing app and users database

The company I work for has a production ROR web application that handles user authentication using devise on backend. I´ve been asked to develop a mobile app using specific IONIC 3 with firebase template, This app works along with existing ROR web app and I cannot modify backend auth, so I implemented Firebase´s Custom Token authentication and had it to work. For testing purposes I registered manually user accounts in Firebase console using existing username and uids on my baackend, but when I try to login using a user account that is not manually registered, I get the following exception "there is no user record corresponding to this identifier" I know it is because there is no user wit that uid in firebase, but reading the documentation I found here it says "...After a user signs in for the first time, a new user account is created and linked to the credentials—that is, the user name and password, phone number, or auth provider information—the user signed in with. This new account is stored as part of your Firebase project, and can be used to identify a user across every app in your project, regardless of how the user signs in...." so my question is, Is there a way to have firebase register users automatically after using SigninWithCustomToken? Can anyone advise on a correct flow to achieve sync between current back end and firebase users?
I´ve never used firebase before and have not found more than very basic documentation.
Thanks in advance.

CloudKit public container access when user is logged in but iCloud Drive is disabled

I have an app that uses CloudKit for the backend, and it works fine getting data when the user is not logged in, or if the user is logged in and iCloud Drive is enabled. However, if the user is logged in and iCloud Drive is disabled, I get an error on my CKQuery and the returned results are empty. The error is:
"Not Authenticated" (9/1002); "Account doesn't have access to CloudKit account"
This behavior seems strange to me as users could be logged out and access data. Is it possible to get users public container data with iCloud Drive disabled?
Note: this is necessary because many people I know have Corporate MDM profiles installed that restrict iCloud Drive access, thereby killing the backend for my app.
I have noticed this as well. I found under ios9 xcode 7 users that were not logged into iCloud could read but not write.
For a running CloudKit app, a container’s public database is always
readable, even when the user is not signed in to their iCloud account
on the device. Saving records to the public database and accessing the
private database requires that the user be signed in
https://developer.apple.com/library/prerelease/content/documentation/General/Conceptual/iCloudDesignGuide/DesigningforCloudKit/DesigningforCloudKit.html
All my tests since ios10 and xcode 8 show that this is no longer the case and if you are not logged into iCloud you cannot read or write. I can't find any documentation to prove this, but running my app on a device with ios9 it works and on ios10 it doesn't.

django-allauth and changing Facebook app ID

Does anybody know what will happen to my existing users when I will change Facebook app ID in allauth (socialauth) configuration?
Will "login with FB" try to create new django accounts or will it just log users in to existing ones (and obviously, asking via FB for permission)?
I'm in a situation where I have large amount of users signed up using FB but now I'm forced to create new FB app and switching to it.
Have checked it out. The answer is yes, users will fall into the signup flow instead of being logged in.
It's because Facebook assigns app-scoped ID to users. An app doesn't know user's original ID, it gets user's ID generated especially for this app. For this reason django-allauth won't recognize existing FB users (from previous FB app).

Resources