Public Source Viewer
비나래아카이브 개발자 포털
실제 서비스 구조를 살펴볼 수 있는 공개용 코드 뷰어입니다. 인증, 세션, 외부 연동, 토큰, 관리자 식별 등 보안상 민감한 구현은 파일 단위 또는 줄 단위로 검열됩니다.
view/hinana/worksConnect.ejs
공개 가능
1
<!doctype html><html lang="ko"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Novel 작품 게시 확인</title><meta name="referrer" content="origin"><link rel="stylesheet" href="/css/site-ui.css?v=3"><link rel="stylesheet" href="/css/works.css?v=2"></head><body class="works-connect <%= theme==='dark'?'dark-mode':'' %>"><main><span class="works-eyebrow">HINANA STUDIO NOVEL</span><h1><%= canManage ? '이 작품을 게시할까요?' : '게시 권한을 확인해 주세요.' %></h1><p><strong><%= username %></strong> 계정으로 로그인했습니다.<br><%= canManage ? 'Novel에서 보낸 아래 작품을 공개 작품 일람에 게시합니다.' : '작품 게시는 비나래 계정에서 사용할 수 있습니다.' %></p><section class="handoff-summary"><h2><%= handoff.title %></h2><p><%= handoff.author || '작가 미표기' %> · <%= handoff.chapters %>개의 글 · <%= handoff.characters.toLocaleString() %>자</p><small>같은 프로젝트를 다시 게시하면 기존 작품의 내용이 갱신됩니다.<br>승인한 원고만 한 번 전달하며, 승인은 5분 후 만료됩니다.</small></section>
2
[SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
3
<a href="<%= handoff.callback.replace(/\/result$/, '/cancel') %>">취소하고 Novel로 돌아가기</a><a href="/logout?redirect=<%= encodeURIComponent('/hinana/works/connect?' + new URLSearchParams(Object.entries(handoff).map(([k,v])=>[k,String(v)])).toString()) %>">다른 계정으로 로그인</a></main></body></html>
4