OCPP Auth#
OCPP 인증 처리 로직 요약 (Korean Version)#
이 문서는 OCPP 기반 충전기에서 인증 처리에 영향을 미치는 주요 설정값들과, 그 설정 조합에 따른 온라인/오프라인 인증 동작 방식을 설명합니다. 아래 4가지 핵심 설정 항목에 초점을 맞춥니다.
주요 설정 항목#
설정 키 |
설명 |
---|---|
|
충전기가 오프라인 상태에서 로컬 인증을 허용할지 여부 |
|
Local Authorization List를 활성화할지 여부 |
|
서버 응답을 Authorization Cache에 저장하고 재사용할지 여부 |
|
온라인 상태에서도 캐시를 먼저 조회하여 인증을 선처리할지 여부 |
인증 우선순위 규칙#
충전기가 여러 인증 소스를 동시에 사용할 수 있는 경우, 다음과 같은 우선순위가 적용됩니다:
Local Authorization List > Authorization Cache > Central System
Local Authorization List에 등록된 UID가 있는 경우, 항상 이를 우선 적용합니다.
같은 UID가 Local List에 있으면, Authorization Cache에 저장하거나 조회하지 않습니다.
인증 처리 플로우#
(※ 동일한 Mermaid 흐름도는 영어 버전에 포함되어 있습니다)
1. 오프라인 인증 조건#
조건 |
설명 |
---|---|
|
❌ 오프라인 인증 불가. 무조건 거부. |
|
❌ 인증 불가 (로컬 인증 수단 없음) |
|
✅ List만 사용하여 인증 |
|
✅ Cache만 사용하여 인증 |
|
✅ List 우선, 없으면 Cache 사용 |
List 또는 Cache 둘 중 하나 이상이 활성화되어야 오프라인 인증 가능
2. 온라인 인증 조건#
설정 |
동작 방식 |
---|---|
|
UID 입력 시 서버에 요청 → 응답 기반으로 인증 결정 |
|
UID 입력 시 Authorization Cache 먼저 조회 → ACCEPTED인 경우 즉시 인증 진행, 이후 서버 응답 반영 |
인증 동작 요약 테이블#
연결 상태 |
LocalAuthorizeOffline |
LocalAuthListEnabled |
AuthorizationCacheEnabled |
인증 동작 |
---|---|---|---|---|
오프라인 |
false |
- |
- |
❌ 인증 불가 |
오프라인 |
true |
false |
false |
❌ 인증 불가 (로컬 인증 수단 없음) |
오프라인 |
true |
true |
false |
✅ List로 인증 |
오프라인 |
true |
false |
true |
✅ Cache로 인증 |
오프라인 |
true |
true |
true |
✅ List 우선, 없으면 Cache |
온라인 |
- |
- |
- |
🔁 |
고급 동작 및 구현 제약 사항#
3. 온라인 상태에서 Cache는 최종 판단 기준이 아님#
Cache에서
Accepted
가 아닌 경우, 반드시 서버에 인증 요청을 전송해야 하며,서버 응답에 따라 Cache를
uid_update()
로 갱신해야 합니다.
4. Local List와 서버 응답 충돌 시#
동일한 UID에 대해 서버 응답과 Local List가 불일치하면,
StatusNotification.req
를 전송해야 합니다:connectorId = 0
errorCode = LocalListConflict
5. Local List 최대 크기#
LocalAuthListMaxLength
설정에 정의된 최대 개수까지만 저장할 수 있습니다.
6. Profile 종속성#
Local List 관리를 위해서는 프로파일에
LocalAuthListManagement
가 포함되어 있어야 합니다.
7. AllowOfflineTxForUnknownId 설정#
AllowOfflineTxForUnknownId = true
인 경우:List나 Cache에 없는 UID라도 충전을 시작할 수 있습니다.
이후 온라인 상태가 되었을 때 Central System 응답이
Accepted
가 아닌 경우:
→ StopTransactionOnInvalidId = true
#
충전 세션 즉시 중단 (hard stop)
→ StopTransactionOnInvalidId = false
#
충전은 중단하지 않지만:
전력 공급을 중단하거나 (soft stop),
MaxEnergyOnInvalidId
설정 값만큼만 전력 공급
참고 사항#
Local Authorization List에 등록된 UID는 Cache에 저장되지 않으며, 항상 우선 적용됩니다.
Authorization Cache는 서버 응답을 저장하고, 오프라인 인증에 재사용됩니다.
Cache 만료 시간(
expiry
) 또는 TTL은 시스템 정책에 따라 결정됩니다.LocalPreAuthorize = true
설정 시, 서버 응답이 거부이면 충전 세션 중단을 고려해야 합니다.
요약#
LocalAuthorizeOffline = true
이어야 오프라인 인증이 가능함오프라인 인증 시에는
List
또는Cache
중 하나 이상이 활성화되어야 함Local List가 항상 우선순위를 가지며, Cache에 중복 저장되지 않음
온라인 상태에서는
LocalPreAuthorize
설정으로 Cache 선처리 가능