Хорошо, я видел здесь этот QA
Проверка JWT без использования OAuth2 с помощью конечных точек Google Cloud
Это не совсем ответ на мой вопрос. В настоящее время у меня есть служба Node, которая генерирует токен-носитель и передает его клиенту. Затем клиент передает токен обратно при последующих запросах.
Токен создается через нашу службу токенов аутентификации. Передается клиенту. Это работает. Однако, когда токен передается обратно от клиента через шлюз API в серверную службу, он никогда не попадает в службу.
Вот пример токена-носителя, который передается в
eyJhbGciOiJSUzI1NR5cCI6IkpkkSXVCJ9.eyJ1c2VyX2lkIjoiWHZYSlZuZDdRZnhMMXZwZ0dTcWwiLCJyb2xlIjoidXNlciIsImlhdCI6MTU4ODczOTg3NywiZXhwIjoxNTg4NzksxjgzMDc3fQ.LJ3YQJMrVX4go-NZ_nfEdT7lrsmFD6kv9WAnDXB3w2ZXDmXn7eJJ5posUxOp5jfu32jpMCNdFywquQ
Токен проходит через шлюз API, созданный через конечные точки облака (успокойтесь, я новичок в конечных точках Google Cloud). Итак, что мне не хватает и как мне передать токен?
swagger: '2.0'
info:
title: API Gateway
description: Description
version: 1.0.0
host: {host}
schemes:
- https
paths:
/auth/token/decode:
get:
summary: Auth Endpoint - Decode Token
operationId: auth_endpoint_decode
x-google-backend:
address: {backend-host}
protocol: h2
responses:
200:
description: "Token Decoded"
400:
description: "Page Error"
/auth/token/create:
post:
summary: Auth Endpoint - Create Token
operationId: auth_endpoint_create
parameters:
- description: "Message to echo"
in: body
name: content
required: true
schema:
type: object
properties:
username:
type: string
password:
type: string
x-google-backend:
address: {backend-host-2}
protocol: h2
responses:
200:
description: "Encoded Token"
400:
description: "Page Error"
Итак, я пытаюсь достичь того, чтобы клиент мог вернуть токен, который был создан, и чтобы этот токен сделал его в мою службу Node, чтобы его можно было декодировать.
Любая помощь приветствуется .. Спасибо ..
Обновление:
I обнаружил, что в мою внутреннюю службу передается токен. Это просто не то же самое, что токен, который я передал. Итак, токен, который я передаю из внешнего интерфейса:
eyJhbGciOiJSUz21Ni5sIn65cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiWHZYSlZuZDdRZnhMMXZwZ0dTcWwiLCJyb2xlIjoddXN6ciIsImlhdCI6MTU4ODc3NTgyMSwiZXhwIjoxNTg4ODE5MDIxLCJpc3MiOiJhdXRoLXNlc4ZpY2UtbWx5Y3RkNnJlYS11Yy5hLnJ1bi5hcHAifQ.oBI7MaK08Tbg9PQ5vRahdZAS_nhKOWqu4EG5onyNA587KBf2A50eFLRFfkB3AY6t5RXBIbOvUQCXS6UQup1RPg
И токен, переданный в мой серверный интерфейс, является гораздо более длинным токеном:
eyJhbGciOiJSUzI14iIsImtpZCI6Ijc0YmQ4NmZjNjFlNGM2Y2L0NTAxMjZmZjRlMzhiMDY5YjhmOGYzNWMiLCJ0eX5iOiJKV1QifQ.eyJhdWQiOiJodFRwczovL2F1dGgtc2VydmljZS1xYmZmNHd0YWNxLXVjLmEucnVuLmFwcC9hdXRoL3Rva2VuL2RlY29kZSIsImF6cCI6IjEwNjAwNzMxMjY3MTM0MTM3MzA3MCIsImVtYWlsIjoiMTExOGA4MjE1NjQ4LWNvbXB1dGVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJ7bWFpbF92ZXJpZmllZCI6dHJ1ZSwiZXhwIjoxNTg4Nzc5MTgyLCJpYXQiOjE1ODg7NzU1ODIsImlzcyI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbSIsInN1YiI6IjEwNjAwNzMxMjY3MTM0MTM3MzA3MCJ9.qLq4aAJ_UxCoHM00fVJpkvTEPkWZ1VTVelvlGktZ6ldDe9LPsHiE1KmyTxjm7HpKouesY8FmL-lopzArroHJSXfFff-VUujTQ6WI-nrHuRMRUzV7a6PwLCCwoDks6Exp04GG9EjweMcb1ZgQQrCTYk1K1SOCD9sZ2VqROEvV0_YNblFsUJS9b9INeacnhrcYDhi6inlSbsVNKpwqBOZJYE5_W9wLAlIK08RUPOmcLaqBD7pvzSYCZps4K75bOev__xT07yizFppAxlVvqB3PTSTFTCeyCnuUFtJ3kmfNf94Uu51jTpTExPKrumdJ18SLnPoopHJG-GCzSJSmccSOTA