Yes, it is a bug @ Apple side. When my app launched in April-20, apple sign in plugin was working fine and private-email was returned. Now, when I check my app again (already in store since then), there is no private-email being returned. Only the real-email is returned (if user selects to show real email during Apple sign In).
So, there is nothing wrong with the plugin. Apple is doing changes. Just use the JWT (the identityToken) to get the email if no email was returned.
Email and name are only returned on first login. To my knowledge there is no way to get it after that. In my research identify token/user id are the only things need to authenticate with Apple on your own server. If you actually run a JWT though a decoder you will see no email returned.
Hi,
need your help.
Iām developing my game with Solar2d Native, trying to download Scott plugin from market place, but for some reason, it downloads the simulator .lua file instead of the iOS plugin.
Now looking into the documentation wonder isnāt there is a need for sign out? searching the web I see the way is using āiOS Settingsā, but I saw many apps where they provide UI to sign outā¦
so to be sure, App will not be rejected for not having āsign outā UI?
I only login once to get the name, email, etc. and do exactly what the code I gave you does, nothing more or less. In this way, I never have the need to log them in. I handle Game Center with Scottās other plugin, although I donāt support it, I use it to get their Game Center GamerID, then store it away, too, as a way to recognize their device.
Looks like we need here a manual how to create another profile, where to get a certificate, etc.
I started with this⦠It requires certificates again⦠Where to get them? Are they the same which were generated on github? I am sorry I am totally lost in those iOS complications⦠Android is so easy
Otherwise I got this:
ERROR ITMS-90163: "Invalid Code Signing Entitlements. The entitlements in your app bundle signature do not match the ones that are contained in the provisioning profile. The bundle contains a key that is not included in the provisioning profile.
Under apple dev website under account, you should be able to manage your provisioning profiles and edit the profile to support apple sign in capabilities
In the iOS Dev Center, click Certificates, Identifiers & Profiles.
In the iOS Apps panel, click Provisioning Profiles.
Click +.
Select iOS App Development and click Continue.
Select an App ID to associate with the provisioning profile and click Continue.
To be able to use one development provisioning profile across multiple apps, select a wildcard App ID, if available.
Select one or more certificates for development to include in the provisioning profile and click Continue.
Only certificates for development are listed.
Select one or more devices to include in the provisioning profile and click Continue.
Enter a name for the profile and click Generate.
(Optional) Click Download to download the provisioning profile.
It asked to UPLOAD a certificate⦠well, I had one which was generated during github set up, so that I was able to compile iOS apps without having an iOS device.
I fed it to the site⦠I am not sure if it was a right thing to do, but as a result I got another cer-file back, it is called ios_develpment.cer
The site says:
Download your certificate to your Mac, then double click the .cer file to install in Keychain Access. Make sure to save a backup copy of your private and public keys somewhere secure.
Well, I do not have a Mac, do I need to upload it to github?
I still cherish the idea that one day this plug in will work⦠and play around the code.
Now I got a different err message which is good⦠because it is something different and tells me that there is a progress
parameter ErrorCode = 1102
[2021-12-24 01:33:29 UTC] <main> DBG-X: parameter ErrorMessage = ERROR ITMS-90163: "Invalid Code Signing Entitlements. The entitlements in your app bundle signature do not match the ones that are contained in the provisioning profile. The bundle contains a key that is not included in the provisioning profile:
Then you need to download and upload a new provisioning profile under step 4 " Creating a provisioning profile" in Utils folder. You can verify the Apple Sign in on provisioning profile page.
That is exactly what I was thinking of, but could not figure out the right sequence of steps. Once a profile is changed/saved, it has to be downloaded and set into the project!! (More over you cannot download an existing profile unless changes were made! I had to tick off and then tick on an existing tickā¦) Thank you very much for pointing me to the right direction!
My app has compiled without errs and now it works on iPhone.
Running it ONCE is OK, but how about defining same user on another device in case if email is hidden? Is there a unique string to define specific user even if email is hidden?
To my research if an email is hidden a relay-email is regenerated again if you reinstall (remove & install) the app, so⦠it is not unique. Event.user also changes to my surprise.
event.user should not change at all. I just tried deleting my test app and reinstalling my test app and returns the exact same .user. I am not sure what your setup is .user should be the same between apple dev accounts
" The user identifier [the event.user] has the following characteristics:
Consists of a unique, stable string, and used as the primary identifier of the user
Uses the same identifier across all of the apps in the development team associated with your Apple Developer account
Differs for the same user across different development teams, and canāt identify a user across development teams
Doesnāt change if the user stops using Sign in with Apple with your app and later starts using it again
Typically stores alongside the userās primary key in your database"