Sign in with Apple

Hi community,
I have a doubt about the authentication services that Nakama offers.
My game is using Nakama SDK. It means that i’m using a third-party login service, and because of this, Apple is forcing me to implement Sign in with Apple if I want my binary to be approved:

Regarding guideline 4.8, the issue is that your app uses a third-party login service, such as Facebook, but does not offer Sign in with Apple.

To resolve this issue, it would be appropriate to implement Sign in with Apple as an equivalent login option as Game Center login alternative is not considered to be sufficient.

We look forward to reviewing your resubmitted app.

Best regards,

App Store Review

My question is, how can I log-in to Nakama using my “Apple Account” ?
I’m using Nakama C++ API, and these are the methods to auth:

    virtual void authenticateDevice(.....)
    virtual void authenticateEmail(.....)
    virtual void authenticateFacebook(.....)
    virtual void authenticateGoogle(.....)
    virtual void authenticateGameCenter(.....)
    virtual void authenticateCustom(.....)
    virtual void authenticateSteam(.....)

I’ve a specific method to authenticate with GameCenter, but not with Apple. Why? Should I use authenticateCustom()?

The table users has a column apple_id:

It seems like Nakama is considering a possible authentication with Apple, right?
Thanks.

@tranthor Sign In With Apple support was added to Nakama in the 2.13.0 release of the game server. You can read about it in the release notes:

https://github.com/heroiclabs/nakama/releases/v2.13.0

The C++ client needs a small update to add the feature to that SDK. Please open an issue and we can add it, or open a pull request for review. Thanks!

@novabyte thanks for your comments!
Good to hear that. Then, it’s easier than I expected.

I created an issue: https://github.com/heroiclabs/nakama-cpp/issues/35
I’d love contribute creating a Pull Request but I’ve never contributed to Nakama-cpp library and I don’t have clear what should we add. Only a new method in NClientInterface.h ? What should be the parameters?

If other dev create the Pull Request, definitely I will inspect that in order to learn how to contribute in this kind of things.

1 Like

@tranthor No problem we’ll add it to the client and you can review the pull request for next time. :slight_smile:

1 Like