是否有類似的東西:獲得來自keycloak會話的用戶名中的NodeJS
request.getUserPrincipal().getName() // Java
在節點獲取用戶名時,我們使用連接-keycloak與快遞中間件?
是否有類似的東西:獲得來自keycloak會話的用戶名中的NodeJS
request.getUserPrincipal().getName() // Java
在節點獲取用戶名時,我們使用連接-keycloak與快遞中間件?
我也來過這個問題。
我的確潛入了中間件代碼並試圖找到類似的東西。事實證明request
對象被修改並附加kauth.grant
。
console.log('req.kauth.grant')
打印出:
{
access_token: {
token: 'kasdgfksj333',
clientId: 'mobile',
header: {
alg: 'RS256'
},
content: {
jti: '33389eb6-3611-4de2-b913-add9283c3de0',
exp: 1464883174,
nbf: 0,
iat: 1464882874,
iss: 'http://docker:9090/auth/realms/test',
aud: 'test-client',
sub: '333604a0-b527-4afb-a04e-5e4ebf06ce9c',
typ: 'Bearer',
azp: 'test-client',
session_state: '1cd35952-8e42-44f1-ad15-aaf9964bfefa',
client_session: '943f1213-f556-4021-bbc6-2355146ab955',
'allowed-origins': [],
resource_access: [Object],
name: 'Test User',
preferred_username: 'user',
given_name: 'Test',
family_name: 'User',
email: '[email protected]'
},
signature: < Buffer 45 1 b 3 d d7 4 f f9 d1 63 44 ad a9 ca b8 c4 67 88 ba e9 5 d 64 8 d a0 a9 75 a1 79 cf 18 52 d5 f7 f0 08 71 1 d 79 bd 59 e9 5 a f8 25 72 dd e5 06 71 4 f b7 f1 47... > ,
signed: 'eyJhbGcfOiJSUzf1NiJ9.eyJqdGkiOsJmYmY4OWViwi0zNjExLTrkZTItYjkxMy1hZGQ5MjgzYzNkZTAiLCJleHAiOjE0NjQ4ODMxNzQsIm5iZiI6MCwiaWF0IjoxNDY0ODgyODc0LCJpc3MiOiJodHRwOi8vZG9ja2VyaG9zdDo5MDgwL2F1dGgvcmVhbG1zL3JoY2FycyIsImF1ZCI6InJoY2Fycy12ZWhpY2xlLW93bmVyLWlvcyIsInN1YiI6IjkxMjYwNGEwLWI1MjctNGFmYi1hMDRlLTVlNGViZjA2Y2U5YyIsInR5cCI6IkJlYXJlciIsImF6cCI6InJoY2Fycy12ZWhpY2xlLW93bmVyLWlvcyIsInNlc3Npb25fc3RhdGUiOiIxY2QzNTk1Mi04ZTQyLTQ0ZjEtYWQxNS1hYWY5OTY0YmZlZmEiLCJjbGllbnRfc2Vzc2lvbiI6Ijk0M2YxMjEzLWY1NTYtNDAyMS1iYmM2LTIzNTUxNDZhYjk1NSIsImFsbG93ZWQtb3JpZ2lucyI6W10sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50Iiwidmlldy1wcm9maWxlIl19fSwibmFtZSI6IlRlc3QgVXNlciIsInByZWZlcnJlZF91c2VybmFtZSI6IjEyMzEyMyIsImdpdmVuX25hbWUiOiJUZXN0IiwiZmFtaWx5X25hbWUiOiJVc2VyIiwiZW1haWwiOiJmb29iYXJ1c2VyQGFyY29uc2lzLmNvbSJ9'
},
refresh_token: undefined,
id_token: undefined,
token_type: undefined,
expires_in: undefined,
__raw: '{"access_token":"eyJhbGciOiJSUzI3NiJ2.eyJqdGki4iJmYmY4OWriNi0zNjExLTRkZTItYjkxMy1hZGQ5MjgzYzNkZTAiLCJleHAiOjE0NjQ4ODMxNzQsIm5iZiI6MCwiaWF0IjoxNDY0ODgyODc0LCJpc3MiOiJodHRwOi8vZG9ja2VyaG9zdDo5MDgwL2F1dGgvcmVhbG1zL3JoY2FycyIsImF1ZCI6InJoY2Fycy12ZWhpY2xlLW93bmVyLWlvcyIsInN1YiI6IjkxMjYwNGEwLWI1MjctNGFmYi1hMDRlLTVlNGViZjA2Y2U5YyIsInR5cCI6IkJlYXJlciIsImF6cCI6InJoY2Fycy12ZWhpY2xlLW93bmVyLWlvcyIsInNlc3Npb25fc3RhdGUiOiIxY2QzNTk1Mi04ZTQyLTQ0ZjEtYWQxNS1hYWY5OTY0YmZlZmEiLCJjbGllbnRfc2Vzc2lvbiI6Ijk0M2YxMjEzLWY1NTYtNDAyMS1iYmM2LTIzNTUxNDZhYjk1NSIsImFsbG93ZWQtb3JpZ2lucyI6W10sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50Iiwidmlldy1wcm9maWxlIl19fSwibmFtZSI6IlRlc3QgVXNlciIsInByZWZlcnJlZF91c2VybmFtZSI6IjEyMzEyMyIsImdpdmVuX25hbWUiOiJUZXN0IiwiZmFtaWx5X25hbWUiOiJVc2VyIiwiZW1haWwiOiJmb29iYXJ1c2VyQGFyY29uc2lzLmNvbSJ9.RRs910_50WNEranKuMRniLrpXWSNoKl1oXnPGFLV9_AIcR15vVnpWvglct3lBnFPt_FH6QPJTmp7i-8mRTIDoIL8jtmEtJ8VfE2ZYX5WN3RlxPFQc5kCOZUQiV55eZALOCSTpm2HIw1eLhBVs4Is8RMJoWy8xj3k4pkOqqll8NY__TJdTG7Iihj0lReblyaW34OpSxkAYoqYaayox0H_7UbnpSAIL0BqBL41lDPH4mXouUX3i0fFbLOt_MnAtPrdFYTez7OVmKhZx7gavdQEkHEGK8thgagnCrycejUqTO0YUeOsasQ2NK9KLPBIEA0eX_p2l2yDYhlJR15stQ3AHA"}',
store: [Function],
unstore: [Function]
}
肯定的 - 這是不是開發商友好的,但你可以通過 req.kauth.grant.access_token.content.preferred_username
訪問的用戶名。這導致user
。
我會將此作爲問題報告給主要貢獻者。 (GitHub庫keycloak中間件https://github.com/keycloak/keycloak-nodejs-connect的)
UPDATE 的keycloak項目的主要貢獻者只是回答我。如果你發現任何其他問題 - 在這裏解決這些問題: https://issues.jboss.org/projects/KEYCLOAK
對於Node.js的適配器: https://issues.jboss.org/browse/KEYCLOAK-2833?jql=project%20%3D%20KEYCLOAK%20AND%20component%20%3D%20%22Adapter%20-%20Node.js%22
希望我能幫上忙。
乾杯
奧蘭多
謝謝,這沒有記錄。 – Machiel
我不是一個Java開發者,但你問是否有一種方法可以從您的中間件的值傳遞給下一個函數/類被調用你的路線? –
+1我們還需要從JWT令牌獲取用戶信息。就在此刻,我們再次分析這個持票人......不是很好。也許我們應該提出問題 - 如果他們會激活github上的窗格;) – orschaef