K
Kindeβ€’6d ago
wispyco

Email undefined for apple id registration on dashboard page

When a user registers and is redirected to the dashboard page after signing up I am using the following code to get the user information. import {getKindeServerSession} from "@kinde-oss/kinde-auth-nextjs/server"; export default async function Dashboard() { const {getUser} = getKindeServerSession(); const user = await getUser(); console.log(user); return (<div>Dashboard<pre>{JSON.stringify(user, null, 2)}</pre></div>); } In the console log on the server the email is undefined. Why may this be?
26 Replies
wispyco
wispycoβ€’5d ago
this is for apple login
Claire_Kinde
Claire_Kindeβ€’5d ago
Hi wispyco. So when a user sign up with apple you are not receiving their email address? And you are using Next.js Did this just start happening or has it never worked as you thought?
wispyco
wispycoβ€’5d ago
I am using next, and i am developing in replit and it was the frist signup I tried
Claire_Kinde
Claire_Kindeβ€’5d ago
K thanks. Also, have you asked the Kinde AI to see if it has an answer?
wispyco
wispycoβ€’5d ago
GET /dashboard 200 in 22ms
{
id: 'kp_d5ec6ed4fe6d4bb1b657d6bc57488f96',
email: undefined,
family_name: 'Kitson',
given_name: 'Anders',
picture: 'https://gravatar.com/avatar/6c117141dc341f2b846b54e34468e66b24e4de275cd2a098a66c34b06666483c?d=blank&size=200',
username: undefined,
phone_number: undefined
}
GET /dashboard 200 in 22ms
{
id: 'kp_d5ec6ed4fe6d4bb1b657d6bc57488f96',
email: undefined,
family_name: 'Kitson',
given_name: 'Anders',
picture: 'https://gravatar.com/avatar/6c117141dc341f2b846b54e34468e66b24e4de275cd2a098a66c34b06666483c?d=blank&size=200',
username: undefined,
phone_number: undefined
}
I hadn't
Claire_Kinde
Claire_Kindeβ€’5d ago
Give it a shot and let me know. #⚑⏐ask-kinde-ai
wispyco
wispycoβ€’5d ago
It suggested this
import { getKindeServerSession } from "@kinde-oss/kinde-auth-nextjs/server";

export default async function Dashboard() {
const { getUser, refreshTokens } = getKindeServerSession();

// Refresh tokens to get up-to-date Kinde data
await refreshTokens();

const user = await getUser();

console.log(user);

return (<div>Dashboard<pre>{JSON.stringify(user, null, 2)}</pre></div>);
}
import { getKindeServerSession } from "@kinde-oss/kinde-auth-nextjs/server";

export default async function Dashboard() {
const { getUser, refreshTokens } = getKindeServerSession();

// Refresh tokens to get up-to-date Kinde data
await refreshTokens();

const user = await getUser();

console.log(user);

return (<div>Dashboard<pre>{JSON.stringify(user, null, 2)}</pre></div>);
}
But it did not work?
Claire_Kinde
Claire_Kindeβ€’5d ago
Did you also check that the email scope is included in the request? We cannot control anything on the Apple side. Are you able to sign up with a different apple account and see if the same thing happens? Otherwise, might need to wait til our dev who specialises in social connections comes back online.
wispyco
wispycoβ€’5d ago
yeah I am prety sure I have the right permissions ok ill wait
No description
Claire_Kinde
Claire_Kindeβ€’5d ago
I mean on the Apple side too when you configured your app.
Claire_Kinde
Claire_Kindeβ€’5d ago
Kinde docs
Apple social sign in
Our developer tools provide everything you need to get started with Kinde.
wispyco
wispycoβ€’5d ago
I have to configure a app on the apple side? Oh I never did that, thats probably why
Claire_Kinde
Claire_Kindeβ€’5d ago
If you follow that doc, it should steer you right. Sometimes Apple changes config and button names etc on their side, but I think this was updated fairly recently. Let us know how you go πŸ™‚
wispyco
wispycoβ€’5d ago
Will do So I setup all that apple developer stuff and now I am getting less data. This is the latest response from the AI The claim result you're seeing indicates that the email claim is not being populated, which could explain why you're not receiving the user's email in the profile data. This issue could be related to how the social login (in this case, Apple) is configured or how the claims are being processed. Here are a few steps you can take: Check your Kinde configuration to ensure that email scopes are requested during the authentication process. Verify that your Apple Sign-In configuration in Kinde is set up correctly and includes the necessary scopes. Try to refresh the tokens and then get the user data again. According to the NextJS App Router SDK documentation, you can use the refreshTokens() function before getting the user data : const { getUser, refreshTokens } = getKindeServerSession(); await refreshTokens(); const user = await getUser(); console.log(user); If the issue persists, you might need to check if the email is being returned in a different claim. You can use the getClaim method to check for other potential claims . Consider checking the access token directly. You can use the getAccessToken method provided by the SDK : const { getAccessToken } = getKindeServerSession(); const accessToken = await getAccessToken(); console.log(accessToken); This might give you more insight into what data is actually being returned from the authentication process. If after trying these steps you're still not receiving the email or other expected user data, it's possible that there's an issue with how the social login provider (Apple) is configured or how it's interacting with Kinde. In this case, you might need to reach out to Kinde support for further assistance with your specific configuration. This is the data I am getting back now
GET /dashboard 200 in 111ms
βœ“ Compiled /favicon.ico in 114ms (633 modules)
GET /favicon.ico 200 in 194ms
βœ“ Compiled in 406ms (927 modules)
{
id: 'kp_f78188d015d9493f89a71f802f60efec',
email: undefined,
family_name: undefined,
given_name: undefined,
picture: 'https://gravatar.com/avatar/6c117141dc341f2b846b54e34468e66b24e4de275cd2a098a66c34b06666483c?d=blank&size=200',
username: undefined,
phone_number: undefined
}
Email claim: { name: 'email', value: null }
GET /dashboard 200 in 111ms
βœ“ Compiled /favicon.ico in 114ms (633 modules)
GET /favicon.ico 200 in 194ms
βœ“ Compiled in 406ms (927 modules)
{
id: 'kp_f78188d015d9493f89a71f802f60efec',
email: undefined,
family_name: undefined,
given_name: undefined,
picture: 'https://gravatar.com/avatar/6c117141dc341f2b846b54e34468e66b24e4de275cd2a098a66c34b06666483c?d=blank&size=200',
username: undefined,
phone_number: undefined
}
Email claim: { name: 'email', value: null }
thanks
Claire_Kinde
Claire_Kindeβ€’5d ago
So not fixed? I will pass this on to the team and see if they can help. Can you tell me your Kinde business and email please.
Want results from more Discord servers?
Add your server