私は、Wordpress サイトからデータを読み取らなければならない Next.js で開発された PWA に取り組んでおり、これらのテクノロジにはかなり慣れていません。
これらのWordpressプラグインをインストールしました:
- WPグラフQL
- WPGraphQL CORS
- WPGraphQL JWT 認証
具体的には、初期の「ログインフォーム」で問題が発生します。このフォームには、英数字の ID (ユーザー名/パスワードではなく) のみを挿入する必要があります。フォームを送信すると、クエリの「where」パラメーターの ID を使用して、Wordpress エンドポイントに対して GraphQL クエリが実行されます。何かのようなもの:
const GET_USER = gql`
query getTicket($ticketId: String) {
tickets(where: {ticketId: $ticketId}) {
nodes {
Ticket {
email
firstName
lastName
ticketId
}
}
}
}
`;
一般にアクセス可能なデータに問題はなく、すべてが機能します。一方、プライベート データ (ユーザーの電子メールなど) を要求する必要がある場合は、認証済み/承認済みのクエリ (Authorization: Bearer <token_here>) を実行する必要があります。
WPGraphQL JWT 認証には 2 つのトークンがあることを知っています。
- authToken: 持続時間は 5 分で、refreshToken を使用して別のトークンを生成する必要があります
- refreshToken: 1 年間の期間
トークンの生成を可能にする突然変異ログインを実行するために、ユーザーにユーザー名/パスワードを入力する必要がないことを考えると、どの方法を使用できますか? 有効期限のない固定トークンのようなものはありますか (おそらくセキュリティ上の欠陥になります)?
ありがとう