I'm adding Apple login, the latest oauth package to join Meteor, but I'm running into the error message "Service not configured". It seems that a lot of the solutions [another] talk about using ServiceConfiguration
to fix these errors, but I haven't had to initialize any of the other meteor logins such as loginWithGoogle
or loginWithFacebook
. Based on my reading through the github package Meteor.loginWithApple is configured the same way as these existing login functions. What configuration issue might be triggering this?
When I look at Meteor.settings.private.oAuth
, apple
is right there alongside google
and facebook
.
First, I installed these two https://atmospherejs.com/quave/accounts-apple, https://atmospherejs.com/quave/apple-oauth
meteor add quave:accounts-apple
meteor add quave:apple-oauth
Then set up the config
in settings.json
alongside facebook and google oauth
per this guide.
settings.json:
"apple": {
"teamId": "yyexamplexx",
"clientId": "com.example.client",
"keyId": "zzexamplewq",
"secret": "zxcvsdfasdfexamplezlongstrxcvsdfasdf",
"redirectUri": "https://example.com/apple-redirect"
},
Client:
continueWithApple = () => {
Meteor.loginWithApple({}, function(err, res) {
if (err) {
console.log(err);
}
//running ok
});
};
<Form.Button
id="appleid-signin"
fluid
basic
className="continue apple"
data-color="black"
data-border="true"
data-type="sign in"
onClick={() => {
this.continueWithApple();
}}
>
For some reason the config
oauth
settings aren't being passed on, so we had to do something like the following in order to set up the credentials and stop the "Service not configured" error message:Our configuration looked something like:
It seems to be important that the
redirectUri
ends with_oauth/apple
since meteor'sloginWithApple
is looking for that. Didn't need to handle the callback at all, the packages below take care of it.Also important to put the
%20
in the scopename%20email
...it just worked.