docs: define AP1 local identity profile
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
# AP1 internal SPA direct: local identity profile
|
||||
|
||||
```text
|
||||
Browser SPA --Authorization Code + PKCE--> Keycloak
|
||||
Browser SPA --Bearer access token-------> Spring Resource Server
|
||||
```
|
||||
|
||||
이 profile은 Keycloak 로컬 사용자만으로 동작한다. Google client ID/secret,
|
||||
public domain, broker callback이 없어도 AP1의 login, refresh, logout,
|
||||
audience/issuer 검증과 RBAC를 모두 학습할 수 있다.
|
||||
|
||||
`mock-google` provider가 realm에 함께 존재해도 로컬 로그인은 provider
|
||||
availability에 의존하지 않는다. 실제로 federation 없는 배포를 만들 때는
|
||||
해당 IdP를 disabled로 두거나 realm overlay에서 제거한다.
|
||||
|
||||
빠른 계약 검증은 `verify-internal-spa-no-google-contract.sh`, 실제 브라우저
|
||||
흐름은 `verify-pattern1.sh`가 담당한다.
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env sh
|
||||
set -eu
|
||||
|
||||
jq -e '
|
||||
(.clients[] | select(.clientId == "spa-public")
|
||||
| .publicClient == true
|
||||
and .attributes["pkce.code.challenge.method"] == "S256")
|
||||
and
|
||||
([.users[].username] | index("regular-user") != null)
|
||||
' keycloak/import/keycloak-patterns-realm.json >/dev/null
|
||||
|
||||
npm --prefix frontend test
|
||||
echo "AP1 local-identity profile verified without a Google dependency"
|
||||
Reference in New Issue
Block a user