Improving the authentication system
Before we can proceed with building the profile component, we must address a token expiration issue. When a token expires, users must return to the login page and sign in again to acquire a new token. Even after receiving the token and being referred to the user's profile page, the profile's posts are not retrieved, and users see a message indicating that they are not authenticated.
This is because, after re-authentication, the Apollo context is still utilizing the previous— expired—token, which we simply need to replace, as follows:
- Import the following symbols into the
core/services/auth/auth.service.ts
file:import { createApollo } from 'src/app/graphql.module'; import { HttpLink } from 'apollo-angular/http';
The authentication token is obtained from local storage and supplied to the Apollo context in the createApollo()
method.
Apollo Client uses HttpLink
to send GraphQL queries to...