I’m using this auth-module with Keycloak.
My configuration in nuxt.config.js:
keycloak: { _scheme: 'oauth2', client_id: 'client-bo', userinfo_endpoint: 'SERVER/protocol/openid-connect/userinfo', authorization_endpoint: 'SERVER/protocol/openid-connect/auth', //userinfo_endpoint: false, access_type: 'offline', access_token_endpoint: 'SERVER/protocol/openid-connect/token', //response_type: 'code', response_type: 'token id_token', token_type: 'Bearer', token_key: 'access_token', scope: ['openid', 'profile', 'email'], redirect_uri: 'http://127.0.0.1:3000/' }
The connection is OK.
When I click on the “connect” button, I am redirected to my Keycloak environment. Once authenticated by Keycloak, I am redirected to my nuxt.js application.
However, the problem is that my store is empty. Do you have any ideas about what causes this problem?
loggedIn
: is always false
user
: is always null
Can you tell me why it doesn’t work?
Advertisement
Answer
I had similar issue, and was finally able to get it to work with the following configuration:
package.json
"@nuxtjs/auth-next": "5.0.0-1607534757.1122b76"
nuxt-config.json
auth: { keycloak: { scheme: 'oauth2', endpoints: { authorization: `${process.env.KEYCLOAK_HOST}/auth/realms/${process.env.KEYCLOAK_REALM}/protocol/openid-connect/auth`, userInfo: `${process.env.KEYCLOAK_HOST}/auth/realms/${process.env.KEYCLOAK_REALM}/protocol/openid-connect/userinfo`, token: `${process.env.KEYCLOAK_HOST}/auth/realms/${process.env.KEYCLOAK_REALM}/protocol/openid-connect/token`, logout: `${process.env.KEYCLOAK_HOST}/auth/realms/${process.env.KEYCLOAK_REALM}/protocol/openid-connect/logout?redirect_uri=` + encodeURIComponent(String(process.env.HOME_URI)) }, token: { property: 'access_token', type: 'Bearer', name: 'Authorization', maxAge: 1800 // Can be dynamic ? }, refreshToken: { property: 'refresh_token', maxAge: 60 * 60 * 24 * 30 // Can be dynamic ? }, responseType: 'code', grantType: 'authorization_code', clientId: process.env.KEYCLOAK_CLIENT_ID, scope: ['openid', 'profile', 'email'], codeChallengeMethod: 'S256', }, redirect: { logout: '/', callback: '/', home: '/dashboard' }, }
Login function:
login() { this.$auth.loginWith("keycloak"); },
I had seen that GitHub had issues reported on the Nuxt Auth module, but was able to get it to work with this configuration. Hope this helps someone.