feat: 회원가입 안내 및 oauth 2 페이지 퍼블리싱
This commit is contained in:
@@ -694,6 +694,7 @@ hr {
|
||||
--accent-green: #6BCF7F;
|
||||
--accent-purple: #A78BFA;
|
||||
--accent-color:#efdcb2;
|
||||
--accent-light: #E9F9FF;
|
||||
--text-dark: #1A1A2E;
|
||||
--text-gray: #64748B;
|
||||
--text-light: #94A3B8;
|
||||
@@ -19084,262 +19085,329 @@ body.commission-print-page .btn-primary:hover {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
.signup-guide {
|
||||
max-width: 1200px;
|
||||
.service-main {
|
||||
max-width: 1240px;
|
||||
margin: 0 auto;
|
||||
padding: 64px 20px 80px;
|
||||
background-color: #f9fafb;
|
||||
}
|
||||
.signup-guide__header {
|
||||
margin-bottom: 64px;
|
||||
}
|
||||
.signup-guide__title {
|
||||
font-size: 48px;
|
||||
line-height: 1;
|
||||
color: #0049b4;
|
||||
margin: 0 0 22px 0;
|
||||
}
|
||||
.signup-guide__underline {
|
||||
width: 96px;
|
||||
height: 4px;
|
||||
background-color: #0049b4;
|
||||
margin-bottom: 36px;
|
||||
}
|
||||
.signup-guide__desc p {
|
||||
font-size: 20px;
|
||||
font-weight: 400;
|
||||
line-height: 1.625;
|
||||
color: #1e2939;
|
||||
margin: 0;
|
||||
}
|
||||
.signup-guide__card {
|
||||
background: #fff;
|
||||
border-radius: 16px;
|
||||
padding: 48px 50px;
|
||||
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
|
||||
margin-bottom: 64px;
|
||||
}
|
||||
.signup-guide__steps {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(6, 1fr);
|
||||
gap: 16px;
|
||||
}
|
||||
.signup-guide__step {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
}
|
||||
.signup-guide__step--last .signup-guide__step-line {
|
||||
display: none;
|
||||
}
|
||||
.signup-guide__step-icon {
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
border-radius: 50%;
|
||||
background: #fff;
|
||||
border: 1.6px solid #0049b4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
.signup-guide__step-icon svg {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
.signup-guide__step-dot {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background-color: #0049b4;
|
||||
border-radius: 50%;
|
||||
margin-top: 12px;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
.signup-guide__step-label {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-top: 8px;
|
||||
text-align: center;
|
||||
}
|
||||
.signup-guide__step-num {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #6a7282;
|
||||
line-height: 20px;
|
||||
}
|
||||
.signup-guide__step-text {
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
color: #1e2939;
|
||||
line-height: 20px;
|
||||
margin-top: 4px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.signup-guide__step-line {
|
||||
position: absolute;
|
||||
top: 32px;
|
||||
left: calc(50% + 32px);
|
||||
width: calc(100% - 32px);
|
||||
height: 2px;
|
||||
background: linear-gradient(to right, #0049b4, rgba(0, 73, 180, 0.3));
|
||||
z-index: 1;
|
||||
}
|
||||
.signup-guide__notes {
|
||||
margin-bottom: 48px;
|
||||
}
|
||||
.signup-guide__note {
|
||||
padding: 60px 40px;
|
||||
display: flex;
|
||||
gap: 60px;
|
||||
align-items: flex-start;
|
||||
gap: 8px;
|
||||
font-size: 18px;
|
||||
font-weight: 400;
|
||||
line-height: 32px;
|
||||
color: #1e2939;
|
||||
margin: 0 0 16px 0;
|
||||
}
|
||||
.signup-guide__note:last-child {
|
||||
margin-bottom: 0;
|
||||
|
||||
.service-content {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 40px;
|
||||
}
|
||||
.signup-guide__note-mark {
|
||||
|
||||
.service-sidebar {
|
||||
width: 213px;
|
||||
flex-shrink: 0;
|
||||
width: 18px;
|
||||
}
|
||||
.signup-guide__action {
|
||||
text-align: center;
|
||||
padding-top: 16px;
|
||||
|
||||
.service-nav {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 26px;
|
||||
background: #fff;
|
||||
border: 1px solid #e3e8f0;
|
||||
border-radius: 20px;
|
||||
padding: 28px 30px;
|
||||
}
|
||||
.signup-guide__btn {
|
||||
display: inline-block;
|
||||
padding: 18px 64px;
|
||||
background: #0049b4;
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
border-radius: 8px;
|
||||
.service-nav:hover {
|
||||
box-shadow: 0 4px 4px rgba(173, 173, 173, 0.1);
|
||||
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
||||
}
|
||||
.service-nav__item {
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #0d0e11;
|
||||
text-decoration: none;
|
||||
transition: background 0.2s ease, transform 0.2s ease;
|
||||
transition: color 0.2s;
|
||||
}
|
||||
.signup-guide__btn:hover {
|
||||
background: rgb(0, 65.7, 162);
|
||||
transform: translateY(-2px);
|
||||
.service-nav__item:hover {
|
||||
color: #2a69de;
|
||||
}
|
||||
.signup-guide__btn:active {
|
||||
transform: translateY(0);
|
||||
.service-nav__item--active {
|
||||
color: #2a69de;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
.signup-guide {
|
||||
padding: 48px 24px 64px;
|
||||
.service-main {
|
||||
flex-direction: column;
|
||||
padding: 40px 20px;
|
||||
}
|
||||
.signup-guide__title {
|
||||
.service-sidebar {
|
||||
width: 100%;
|
||||
}
|
||||
.service-nav {
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
padding: 20px;
|
||||
}
|
||||
}
|
||||
.signup-guide-v2 {
|
||||
background-color: #fff;
|
||||
padding-bottom: 100px;
|
||||
}
|
||||
.signup-guide-v2 .signup-hero {
|
||||
background: linear-gradient(to right, #eff9fe, #fcfeff);
|
||||
border: 1px solid #9cc2ff;
|
||||
padding: 60px 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: calc(100vw - 80px);
|
||||
position: relative;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
margin-top: 40px;
|
||||
}
|
||||
.signup-guide-v2 .signup-hero__inner {
|
||||
max-width: 1240px;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 138px;
|
||||
padding: 0 37px;
|
||||
}
|
||||
.signup-guide-v2 .signup-hero__icon-wrapper {
|
||||
width: 230px;
|
||||
height: 167px;
|
||||
position: relative;
|
||||
background: radial-gradient(circle at 50% 120%, rgba(0, 73, 180, 0.1), transparent 70%);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 14px;
|
||||
color: #adb5bd;
|
||||
}
|
||||
.signup-guide-v2 .signup-hero__content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 15px;
|
||||
}
|
||||
.signup-guide-v2 .signup-hero__badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 8px 20px;
|
||||
background: #fff;
|
||||
border: 1px solid #d1e6f0;
|
||||
border-radius: 38px;
|
||||
}
|
||||
.signup-guide-v2 .signup-hero__badge-dot {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
background: var(--primary-color);
|
||||
border-radius: 50%;
|
||||
}
|
||||
.signup-guide-v2 .signup-hero__badge-text {
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
color: #1b4ab7;
|
||||
}
|
||||
.signup-guide-v2 .signup-hero__title {
|
||||
font-size: 36px;
|
||||
font-weight: 700;
|
||||
color: #000;
|
||||
margin: 0;
|
||||
}
|
||||
.signup-guide-v2 .signup-hero__desc {
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #6678ad;
|
||||
line-height: 1.5;
|
||||
margin: 0;
|
||||
}
|
||||
.signup-guide-v2 .signup-info-box {
|
||||
background: #f5f5f5;
|
||||
border-radius: 12px;
|
||||
padding: 30px 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 30px;
|
||||
}
|
||||
.signup-guide-v2 .signup-info-box__icon {
|
||||
width: 76px;
|
||||
height: 76px;
|
||||
background: #fff;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.signup-guide-v2 .signup-info-box__icon img {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
object-fit: contain;
|
||||
}
|
||||
.signup-guide-v2 .signup-info-box ul {
|
||||
margin: 0;
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.signup-guide-v2 .signup-info-box ul li {
|
||||
position: relative;
|
||||
padding-left: 14px;
|
||||
color: #535151;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
line-height: 1.8;
|
||||
word-break: keep-all;
|
||||
}
|
||||
.signup-guide-v2 .signup-info-box ul li::before {
|
||||
content: "·";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
color: #535151;
|
||||
}
|
||||
.signup-guide-v2 .signup-timeline {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 40px;
|
||||
position: relative;
|
||||
padding-left: 80px;
|
||||
}
|
||||
.signup-guide-v2 .signup-timeline::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 17px;
|
||||
top: 47px;
|
||||
bottom: 47px;
|
||||
width: 2px;
|
||||
background: #e6eefb;
|
||||
z-index: 0;
|
||||
}
|
||||
.signup-guide-v2 .signup-step {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 40px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
.signup-guide-v2 .signup-step::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: -71px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background: #2a69de;
|
||||
border-radius: 50%;
|
||||
box-shadow: 0 0 0 6px rgba(42, 105, 222, 0.15), 0 0 10px 6px rgba(42, 105, 222, 0.1);
|
||||
z-index: 2;
|
||||
}
|
||||
.signup-guide-v2 .signup-step__icon-box {
|
||||
width: 95px;
|
||||
height: 95px;
|
||||
background: #fff;
|
||||
border: 1px solid #e3e8f0;
|
||||
border-radius: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-shrink: 0;
|
||||
box-shadow: 0 4px 4px rgba(173, 173, 173, 0.1);
|
||||
}
|
||||
.signup-guide-v2 .signup-step__icon-box svg {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
.signup-guide-v2 .signup-step__card {
|
||||
flex: 1;
|
||||
background: #fff;
|
||||
border: 1px solid #e3e8f0;
|
||||
border-radius: 20px;
|
||||
padding: 0 30px;
|
||||
box-shadow: 0 4px 4px rgba(173, 173, 173, 0.1);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
height: 95px;
|
||||
}
|
||||
.signup-guide-v2 .signup-step__card-num {
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
color: #1b4ab7;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.signup-guide-v2 .signup-step__card-title {
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
color: #000;
|
||||
margin: 0;
|
||||
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
||||
}
|
||||
.signup-guide-v2 .signup-step .one {
|
||||
color: #2C4A8C;
|
||||
}
|
||||
.signup-guide-v2 .signup-step .two {
|
||||
color: #1F7A5C;
|
||||
}
|
||||
.signup-guide-v2 .signup-step .three {
|
||||
color: #F98E24;
|
||||
}
|
||||
.signup-guide-v2 .signup-step .four {
|
||||
color: #2480F9;
|
||||
}
|
||||
.signup-guide-v2 .signup-step .five {
|
||||
color: #FF5C5C;
|
||||
}
|
||||
.signup-guide-v2 .signup-step .six {
|
||||
color: #5B4AEE;
|
||||
}
|
||||
.signup-guide-v2 .signup-action {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.signup-guide-v2 .signup-action__btn {
|
||||
display: inline-block;
|
||||
background: #2a69de;
|
||||
color: #fff;
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
padding: 16px 48px;
|
||||
border-radius: 10px;
|
||||
text-decoration: none;
|
||||
transition: background 0.2s, transform 0.2s;
|
||||
}
|
||||
.signup-guide-v2 .signup-action__btn:hover {
|
||||
background: rgb(31.8731707317, 92.7219512195, 205.7268292683);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
.signup-guide-v2 .signup-hero__inner {
|
||||
flex-direction: column;
|
||||
gap: 30px;
|
||||
text-align: center;
|
||||
}
|
||||
.signup-guide__steps {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 24px 16px;
|
||||
}
|
||||
.signup-guide__step:nth-child(3) .signup-guide__step-line {
|
||||
display: none;
|
||||
}
|
||||
.signup-guide__step-line {
|
||||
width: calc(100% - 24px);
|
||||
.signup-guide-v2 .signup-hero__content {
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.signup-guide {
|
||||
padding: 32px 16px 48px;
|
||||
.signup-guide-v2 .signup-step {
|
||||
gap: 20px;
|
||||
}
|
||||
.signup-guide__header {
|
||||
margin-bottom: 32px;
|
||||
.signup-guide-v2 .signup-step__icon-box {
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
}
|
||||
.signup-guide__title {
|
||||
font-size: 28px;
|
||||
.signup-guide-v2 .signup-step__icon-box svg {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
.signup-guide__underline {
|
||||
width: 64px;
|
||||
height: 3px;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
.signup-guide__desc p {
|
||||
font-size: 16px;
|
||||
line-height: 1.75;
|
||||
}
|
||||
.signup-guide__card {
|
||||
padding: 32px 20px;
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
.signup-guide__steps {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 32px 16px;
|
||||
}
|
||||
.signup-guide__step:nth-child(2n) .signup-guide__step-line {
|
||||
display: none;
|
||||
}
|
||||
.signup-guide__step:nth-child(3) .signup-guide__step-line {
|
||||
display: block;
|
||||
}
|
||||
.signup-guide__step-icon {
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
}
|
||||
.signup-guide__step-icon svg {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.signup-guide__step-dot {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
.signup-guide__step-text {
|
||||
font-size: 13px;
|
||||
white-space: normal;
|
||||
}
|
||||
.signup-guide__step-line {
|
||||
top: 28px;
|
||||
left: calc(50% + 28px);
|
||||
width: calc(100% - 28px);
|
||||
}
|
||||
.signup-guide__notes {
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
.signup-guide__note {
|
||||
font-size: 14px;
|
||||
line-height: 24px;
|
||||
}
|
||||
.signup-guide__btn {
|
||||
padding: 16px 48px;
|
||||
font-size: 16px;
|
||||
width: 100%;
|
||||
max-width: 320px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.signup-guide__steps {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 24px;
|
||||
}
|
||||
.signup-guide__step {
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
}
|
||||
.signup-guide__step .signup-guide__step-line {
|
||||
display: none !important;
|
||||
}
|
||||
.signup-guide__step-icon {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.signup-guide__step-dot {
|
||||
display: none;
|
||||
}
|
||||
.signup-guide__step-label {
|
||||
align-items: flex-start;
|
||||
margin-top: 0;
|
||||
text-align: left;
|
||||
.signup-guide-v2 .signup-step__card {
|
||||
height: 70px;
|
||||
padding: 0 20px;
|
||||
}
|
||||
}
|
||||
.service_guide_header {
|
||||
@@ -19404,7 +19472,8 @@ body.commission-print-page .btn-primary:hover {
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.service_member_table table th, .service_member_table table td {
|
||||
.service_member_table table th,
|
||||
.service_member_table table td {
|
||||
padding: 16px;
|
||||
font-size: 14px;
|
||||
line-height: 22px;
|
||||
@@ -19489,7 +19558,8 @@ body.commission-print-page .btn-primary:hover {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.service_member_table table th, .service_member_table table td {
|
||||
.service_member_table table th,
|
||||
.service_member_table table td {
|
||||
padding: 20px 24px;
|
||||
font-size: 15px;
|
||||
}
|
||||
@@ -19507,17 +19577,27 @@ body.commission-print-page .btn-primary:hover {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
.oauth2-2legged {
|
||||
max-width: 1200px;
|
||||
.oauth-main {
|
||||
max-width: 1240px;
|
||||
margin: 0 auto;
|
||||
padding: 60px 40px;
|
||||
display: flex;
|
||||
gap: 60px;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.oauth2-2legged {
|
||||
max-width: 1240px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
background-color: #FFFFFF;
|
||||
color: #1A1A2E;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 24px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.oauth2-2legged__prereq, .oauth2-2legged__sequence, .oauth2-2legged__step, .oauth2-2legged__errors, .oauth2-2legged__error-example {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.oauth2-2legged__eyebrow {
|
||||
display: inline-block;
|
||||
font-size: 14px;
|
||||
@@ -19527,7 +19607,7 @@ body.commission-print-page .btn-primary:hover {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.oauth2-2legged__h2 {
|
||||
margin: 0 0 8px;
|
||||
margin: 0 0 20px;
|
||||
font-size: 26px;
|
||||
font-weight: 700;
|
||||
line-height: 1.3;
|
||||
@@ -19540,57 +19620,68 @@ body.commission-print-page .btn-primary:hover {
|
||||
color: #64748B;
|
||||
}
|
||||
.oauth2-2legged__hero {
|
||||
background: linear-gradient(to right, #eff9fe, #fcfeff);
|
||||
border: 1px solid #9cc2ff;
|
||||
padding: 60px 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: calc(100vw - 80px);
|
||||
position: relative;
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 320px;
|
||||
gap: 32px;
|
||||
padding: 48px 80px;
|
||||
border-radius: 20px;
|
||||
border: 1px solid #E2E8F0;
|
||||
background: linear-gradient(135deg, #EDF9FE 0%, #FFFFFF 100%);
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
margin-top: 40px;
|
||||
}
|
||||
.oauth2-2legged__hero-inner {
|
||||
max-width: 1240px;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 138px;
|
||||
padding: 0 37px;
|
||||
}
|
||||
.oauth2-2legged__hero-body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 15px;
|
||||
}
|
||||
.oauth2-2legged__hero-eyebrow {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
padding: 6px 18px;
|
||||
border-radius: 14px;
|
||||
background: #FFFFFF;
|
||||
border: 1px solid #c3dfea;
|
||||
color: #0049b4;
|
||||
gap: 8px;
|
||||
padding: 8px 20px;
|
||||
background: #fff;
|
||||
border: 1px solid #d1e6f0;
|
||||
border-radius: 38px;
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 18px;
|
||||
font-weight: 700;
|
||||
color: #1b4ab7;
|
||||
}
|
||||
.oauth2-2legged__hero-eyebrow-dot {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background: #0049b4;
|
||||
background: var(--primary-color);
|
||||
}
|
||||
.oauth2-2legged__hero-title {
|
||||
margin: 0 0 16px;
|
||||
font-size: 36px;
|
||||
font-weight: 800;
|
||||
color: #1A1A2E;
|
||||
letter-spacing: -0.5px;
|
||||
line-height: 1.2;
|
||||
white-space: nowrap;
|
||||
color: #000;
|
||||
margin: 0;
|
||||
}
|
||||
.oauth2-2legged__hero-lead {
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #64748B;
|
||||
line-height: 1.6;
|
||||
color: #6678ad;
|
||||
line-height: 1.5;
|
||||
margin: 0;
|
||||
}
|
||||
.oauth2-2legged__hero-lead + .oauth2-2legged__hero-lead {
|
||||
margin-top: 2px;
|
||||
margin-top: 4px;
|
||||
}
|
||||
.oauth2-2legged__hero-chips {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
margin-top: 22px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.oauth2-2legged__chip {
|
||||
@@ -19610,16 +19701,19 @@ body.commission-print-page .btn-primary:hover {
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.oauth2-2legged__hero-illust {
|
||||
align-self: center;
|
||||
background: #FFFFFF;
|
||||
border: 1px solid #c3dfea;
|
||||
border-radius: 20px;
|
||||
overflow: hidden;
|
||||
width: 230px;
|
||||
height: 167px;
|
||||
position: relative;
|
||||
background: radial-gradient(circle at 50% 120%, rgba(0, 73, 180, 0.1), transparent 70%);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.oauth2-2legged__hero-illust svg {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
height: 100%;
|
||||
}
|
||||
.oauth2-2legged__prereq-grid {
|
||||
display: grid;
|
||||
@@ -19676,8 +19770,8 @@ body.commission-print-page .btn-primary:hover {
|
||||
height: auto;
|
||||
}
|
||||
.oauth2-2legged__step-grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 24px;
|
||||
}
|
||||
.oauth2-2legged__endpoint-box {
|
||||
@@ -20004,12 +20098,13 @@ body.commission-print-page .btn-primary:hover {
|
||||
}
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
.oauth2-2legged__hero {
|
||||
grid-template-columns: 1fr;
|
||||
padding: 32px;
|
||||
.oauth2-2legged__hero-inner {
|
||||
flex-direction: column;
|
||||
gap: 30px;
|
||||
text-align: center;
|
||||
}
|
||||
.oauth2-2legged__hero-illust {
|
||||
max-width: 280px;
|
||||
.oauth2-2legged__hero-body {
|
||||
align-items: center;
|
||||
}
|
||||
.oauth2-2legged__prereq-grid {
|
||||
grid-template-columns: 1fr;
|
||||
@@ -20037,7 +20132,7 @@ body.commission-print-page .btn-primary:hover {
|
||||
gap: 16px;
|
||||
}
|
||||
.oauth2-2legged__hero {
|
||||
padding: 28px 24px;
|
||||
padding: 40px 0;
|
||||
}
|
||||
.oauth2-2legged__hero-title {
|
||||
font-size: 28px;
|
||||
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 537 KiB |
File diff suppressed because it is too large
Load Diff
@@ -4,150 +4,214 @@
|
||||
|
||||
<body>
|
||||
|
||||
<th:block layout:fragment="contentFragment">
|
||||
<div class="signup-guide">
|
||||
<!-- Header Section -->
|
||||
<div class="signup-guide__header">
|
||||
<h1 class="signup-guide__title">회원 가입 안내</h1>
|
||||
<div class="signup-guide__underline"></div>
|
||||
<div class="signup-guide__desc">
|
||||
<p>DJBank API 개발자 포털에 방문해 주셔서 감사합니다.</p>
|
||||
<p>DJBank API 사용을 위해서는 다음과 같은 이용절차로 진행하여야 합니다.</p>
|
||||
<th:block layout:fragment="contentFragment">
|
||||
<div class="signup-guide-v2">
|
||||
<!-- Hero Section -->
|
||||
<section class="signup-hero">
|
||||
<div class="signup-hero__inner">
|
||||
<div class="signup-hero__icon-wrapper">
|
||||
<img th:src="@{/img/keyimage/signUp_img.svg}" alt="회원가입 소개 3D 아이콘"
|
||||
style="width: 100%; height: 100%; object-fit: contain;" />
|
||||
</div>
|
||||
<div class="signup-hero__content">
|
||||
<div class="signup-hero__badge">
|
||||
<span class="signup-hero__badge-dot"></span>
|
||||
<span class="signup-hero__badge-text">회원가입 소개</span>
|
||||
</div>
|
||||
<h1 class="signup-hero__title">회원 가입 안내</h1>
|
||||
<p class="signup-hero__desc">DJ Bank API 개발자 포털에 방문해 주셔서 감사합니다.<br>DJBank API 사용을 위해서는 다음과 같은
|
||||
이용절차로 진행하여야 합니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Main Content -->
|
||||
<div class="service-main">
|
||||
<!-- Sidebar -->
|
||||
<th:block th:replace="~{fragment/djbank/service_sidebar :: sidebar('guide')}"></th:block>
|
||||
|
||||
<!-- Content -->
|
||||
<section class="service-content">
|
||||
<!-- Info Box -->
|
||||
<div class="signup-info-box">
|
||||
<div class="signup-info-box__icon">
|
||||
<img th:src="@{/img/icon/icon_check_green.png}" alt="체크 아이콘" />
|
||||
</div>
|
||||
<ul class="signup-info-list">
|
||||
<li>회원은 법인, 개인(개발자)분으로 구분되며, 개발자 포털에서 온라인으로 회원 가입 신청을 합니다.</li>
|
||||
<li>포털 사용은 운영 담당자의 승인 후 가능합니다.</li>
|
||||
<li>법인 관리자는 회원 승인 이후, 포털을 실제 사용할 직원(개발자)을 추가 등록해 주시기 바랍니다.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Step Process Card -->
|
||||
<div class="signup-guide__card">
|
||||
<div class="signup-guide__steps">
|
||||
<!-- Vertical Timeline Steps -->
|
||||
<div class="signup-timeline">
|
||||
<!-- Step 1 -->
|
||||
<div class="signup-guide__step">
|
||||
<div class="signup-guide__step-icon">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14 20C14 19.4477 14.4477 19 15 19H17C17.5523 19 18 19.4477 18 20V24C18 24.5523 17.5523 25 17 25H15C14.4477 25 14 24.5523 14 24V20Z" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M11 13C11 11.3431 12.3431 10 14 10C15.6569 10 17 11.3431 17 13C17 14.6569 15.6569 16 14 16C12.3431 16 11 14.6569 11 13Z" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M20 21V20C20 18.8954 20.8954 18 22 18C23.1046 18 24 18.8954 24 20V21" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M19 14C19 12.8954 19.8954 12 21 12C22.1046 12 23 12.8954 23 14C23 15.1046 22.1046 16 21 16C19.8954 16 19 15.1046 19 14Z" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<div class="signup-step">
|
||||
<div class="signup-step__icon-box one">
|
||||
<!-- <svg width="40" height="40" viewBox="0 0 32 32" fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
d="M14 20C14 19.4477 14.4477 19 15 19H17C17.5523 19 18 19.4477 18 20V24C18 24.5523 17.5523 25 17 25H15C14.4477 25 14 24.5523 14 24V20Z"
|
||||
stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"
|
||||
stroke-linejoin="round" />
|
||||
<path
|
||||
d="M11 13C11 11.3431 12.3431 10 14 10C15.6569 10 17 11.3431 17 13C17 14.6569 15.6569 16 14 16C12.3431 16 11 14.6569 11 13Z"
|
||||
stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"
|
||||
stroke-linejoin="round" />
|
||||
<path d="M20 21V20C20 18.8954 20.8954 18 22 18C23.1046 18 24 18.8954 24 20V21"
|
||||
stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"
|
||||
stroke-linejoin="round" />
|
||||
<path
|
||||
d="M19 14C19 12.8954 19.8954 12 21 12C22.1046 12 23 12.8954 23 14C23 15.1046 22.1046 16 21 16C19.8954 16 19 15.1046 19 14Z"
|
||||
stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"
|
||||
stroke-linejoin="round" />
|
||||
</svg> -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor"
|
||||
class="bi bi-person-add" viewBox="0 0 16 16">
|
||||
<path
|
||||
d="M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7m.5-5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0m-2-6a3 3 0 1 1-6 0 3 3 0 0 1 6 0M8 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4" />
|
||||
<path
|
||||
d="M8.256 14a4.5 4.5 0 0 1-.229-1.004H3c.001-.246.154-.986.832-1.664C4.484 10.68 5.711 10 8 10q.39 0 .74.025c.226-.341.496-.65.804-.918Q8.844 9.002 8 9c-5 0-6 3-6 4s1 1 1 1z" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="signup-guide__step-dot"></div>
|
||||
<div class="signup-guide__step-label">
|
||||
<span class="signup-guide__step-num">Step1</span>
|
||||
<span class="signup-guide__step-text">회원가입</span>
|
||||
<div class="signup-step__card">
|
||||
<div class="signup-step__card-num">STEP 01</div>
|
||||
<div class="signup-step__card-title">회원가입</div>
|
||||
</div>
|
||||
<div class="signup-guide__step-line"></div>
|
||||
</div>
|
||||
|
||||
<!-- Step 2 -->
|
||||
<div class="signup-guide__step">
|
||||
<div class="signup-guide__step-icon">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14 20C14 19.4477 14.4477 19 15 19H17C17.5523 19 18 19.4477 18 20V24C18 24.5523 17.5523 25 17 25H15C14.4477 25 14 24.5523 14 24V20Z" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M11 13C11 11.3431 12.3431 10 14 10C15.6569 10 17 11.3431 17 13C17 14.6569 15.6569 16 14 16C12.3431 16 11 14.6569 11 13Z" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M19 16L21 18L25 14" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<div class="signup-step">
|
||||
<div class="signup-step__icon-box two">
|
||||
<!-- <svg width="40" height="40" viewBox="0 0 32 32" fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
d="M14 20C14 19.4477 14.4477 19 15 19H17C17.5523 19 18 19.4477 18 20V24C18 24.5523 17.5523 25 17 25H15C14.4477 25 14 24.5523 14 24V20Z"
|
||||
stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"
|
||||
stroke-linejoin="round" />
|
||||
<path
|
||||
d="M11 13C11 11.3431 12.3431 10 14 10C15.6569 10 17 11.3431 17 13C17 14.6569 15.6569 16 14 16C12.3431 16 11 14.6569 11 13Z"
|
||||
stroke="#0049B4" stroke -width="1.6" stroke-linecap="round"
|
||||
stroke-linejoin="round" />
|
||||
<path d="M19 16L21 18L25 14" stroke="#0049B4" stroke-width="1.6"
|
||||
stroke-linecap="round" stroke-linejoin="round" />
|
||||
</svg> -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor"
|
||||
class="bi bi-journal-check" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd"
|
||||
d="M10.854 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708 0" />
|
||||
<path
|
||||
d="M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2" />
|
||||
<path
|
||||
d="M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1z" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="signup-guide__step-dot"></div>
|
||||
<div class="signup-guide__step-label">
|
||||
<span class="signup-guide__step-num">Step2</span>
|
||||
<span class="signup-guide__step-text">승인</span>
|
||||
<div class="signup-step__card">
|
||||
<div class="signup-step__card-num">STEP 02</div>
|
||||
<div class="signup-step__card-title">승인</div>
|
||||
</div>
|
||||
<div class="signup-guide__step-line"></div>
|
||||
</div>
|
||||
|
||||
<!-- Step 3 -->
|
||||
<div class="signup-guide__step">
|
||||
<div class="signup-guide__step-icon">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="7" y="7" width="18" height="18" rx="2" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M12 12H20" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"/>
|
||||
<path d="M12 16H20" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"/>
|
||||
<path d="M12 20H16" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"/>
|
||||
<div class="signup-step">
|
||||
<div class="signup-step__icon-box three">
|
||||
<!-- <svg width="40" height="40" viewBox="0 0 32 32" fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="7" y="7" width="18" height="18" rx="2" stroke="#0049B4" stroke-width="1.6"
|
||||
stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M12 12H20" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" />
|
||||
<path d="M12 16H20" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" />
|
||||
<path d="M12 20H16" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" />
|
||||
</svg> -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor"
|
||||
class="bi bi-code" viewBox="0 0 16 16">
|
||||
<path
|
||||
d="M5.854 4.854a.5.5 0 1 0-.708-.708l-3.5 3.5a.5.5 0 0 0 0 .708l3.5 3.5a.5.5 0 0 0 .708-.708L2.707 8zm4.292 0a.5.5 0 0 1 .708-.708l3.5 3.5a.5.5 0 0 1 0 .708l-3.5 3.5a.5.5 0 0 1-.708-.708L13.293 8z" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="signup-guide__step-dot"></div>
|
||||
<div class="signup-guide__step-label">
|
||||
<span class="signup-guide__step-num">Step3</span>
|
||||
<span class="signup-guide__step-text">API/APP 사용 신청</span>
|
||||
<div class="signup-step__card">
|
||||
<div class="signup-step__card-num">STEP 03</div>
|
||||
<div class="signup-step__card-title">API/APP 사용 신청</div>
|
||||
</div>
|
||||
<div class="signup-guide__step-line"></div>
|
||||
</div>
|
||||
|
||||
<!-- Step 4 -->
|
||||
<div class="signup-guide__step">
|
||||
<div class="signup-guide__step-icon">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M21 8H24V16" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M8 8H11V16" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<div class="signup-step">
|
||||
<div class="signup-step__icon-box four">
|
||||
<!-- <svg width="40" height="40" viewBox="0 0 32 32" fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M21 8H24V16" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"
|
||||
stroke-linejoin="round" />
|
||||
<path d="M8 8H11V16" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"
|
||||
stroke-linejoin="round" />
|
||||
</svg> -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor"
|
||||
class="bi bi-display" viewBox="0 0 16 16">
|
||||
<path
|
||||
d="M0 4s0-2 2-2h12s2 0 2 2v6s0 2-2 2h-4q0 1 .25 1.5H11a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1h.75Q6 13 6 12H2s-2 0-2-2zm1.398-.855a.76.76 0 0 0-.254.302A1.5 1.5 0 0 0 1 4.01V10c0 .325.078.502.145.602q.105.156.302.254a1.5 1.5 0 0 0 .538.143L2.01 11H14c.325 0 .502-.078.602-.145a.76.76 0 0 0 .254-.302 1.5 1.5 0 0 0 .143-.538L15 9.99V4c0-.325-.078-.502-.145-.602a.76.76 0 0 0-.302-.254A1.5 1.5 0 0 0 13.99 3H2c-.325 0-.502.078-.602.145" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="signup-guide__step-dot"></div>
|
||||
<div class="signup-guide__step-label">
|
||||
<span class="signup-guide__step-num">Step4</span>
|
||||
<span class="signup-guide__step-text">개발/테스트</span>
|
||||
<div class="signup-step__card">
|
||||
<div class="signup-step__card-num">STEP 04</div>
|
||||
<div class="signup-step__card-title">개발/테스트</div>
|
||||
</div>
|
||||
<div class="signup-guide__step-line"></div>
|
||||
</div>
|
||||
|
||||
<!-- Step 5 -->
|
||||
<div class="signup-guide__step">
|
||||
<div class="signup-guide__step-icon">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="7" y="7" width="18" height="18" rx="2" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M12 11H20" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"/>
|
||||
<path d="M12 15L14.5 17.5L20 12" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<div class="signup-step">
|
||||
<div class="signup-step__icon-box five">
|
||||
<!-- <svg width="40" height="40" viewBox="0 0 32 32" fill="none"-->
|
||||
<!-- xmlns="http://www.w3.org/2000/svg">-->
|
||||
<!-- <rect x="7" y="7" width="18" height="18" rx="2" stroke="#0049B4" stroke-width="1.6"-->
|
||||
<!-- stroke-linecap="round" stroke-linejoin="round" />-->
|
||||
<!-- <path d="M12 11H20" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" />-->
|
||||
<!-- <path d="M12 15L14.5 17.5L20 12" stroke="#0049B4" stroke-width="1.6"-->
|
||||
<!-- stroke-linecap="round" stroke-linejoin="round" />-->
|
||||
<!-- </svg>-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-ui-checks-grid" viewBox="0 0 16 16">
|
||||
<path d="M2 10h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1m9-9h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1m0 9a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1zm0-10a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h3a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM2 9a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h3a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2zm7 2a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-3a2 2 0 0 1-2-2zM0 2a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm5.354.854a.5.5 0 1 0-.708-.708L3 3.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="signup-guide__step-dot"></div>
|
||||
<div class="signup-guide__step-label">
|
||||
<span class="signup-guide__step-num">Step5</span>
|
||||
<span class="signup-guide__step-text">운영신청 및 심사</span>
|
||||
<div class="signup-step__card">
|
||||
<div class="signup-step__card-num">STEP 05</div>
|
||||
<div class="signup-step__card-title">운영신청 및 심사</div>
|
||||
</div>
|
||||
<div class="signup-guide__step-line"></div>
|
||||
</div>
|
||||
|
||||
<!-- Step 6 -->
|
||||
<div class="signup-guide__step signup-guide__step--last">
|
||||
<div class="signup-guide__step-icon">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="7" y="9" width="18" height="16" rx="2" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M7 13H25" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"/>
|
||||
<path d="M12 7V11" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"/>
|
||||
<path d="M20 7V11" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"/>
|
||||
<path d="M12 17H14" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"/>
|
||||
<path d="M12 21H14" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round"/>
|
||||
<div class="signup-step">
|
||||
<div class="signup-step__icon-box six">
|
||||
<!-- <svg width="40" height="40" viewBox="0 0 32 32" fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="7" y="9" width="18" height="16" rx="2" stroke="#0049B4" stroke-width="1.6"
|
||||
stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M7 13H25" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" />
|
||||
<path d="M12 7V11" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" />
|
||||
<path d="M20 7V11" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" />
|
||||
<path d="M12 17H14" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" />
|
||||
<path d="M12 21H14" stroke="#0049B4" stroke-width="1.6" stroke-linecap="round" />
|
||||
</svg> -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor"
|
||||
class="bi bi-airplane" viewBox="0 0 16 16">
|
||||
<path
|
||||
d="M6.428 1.151C6.708.591 7.213 0 8 0s1.292.592 1.572 1.151C9.861 1.73 10 2.431 10 3v3.691l5.17 2.585a1.5 1.5 0 0 1 .83 1.342V12a.5.5 0 0 1-.582.493l-5.507-.918-.375 2.253 1.318 1.318A.5.5 0 0 1 10.5 16h-5a.5.5 0 0 1-.354-.854l1.319-1.318-.376-2.253-5.507.918A.5.5 0 0 1 0 12v-1.382a1.5 1.5 0 0 1 .83-1.342L6 6.691V3c0-.568.14-1.271.428-1.849m.894.448C7.111 2.02 7 2.569 7 3v4a.5.5 0 0 1-.276.447l-5.448 2.724a.5.5 0 0 0-.276.447v.792l5.418-.903a.5.5 0 0 1 .575.41l.5 3a.5.5 0 0 1-.14.437L6.708 15h2.586l-.647-.646a.5.5 0 0 1-.14-.436l.5-3a.5.5 0 0 1 .576-.411L15 11.41v-.792a.5.5 0 0 0-.276-.447L9.276 7.447A.5.5 0 0 1 9 7V3c0-.432-.11-.979-.322-1.401C8.458 1.159 8.213 1 8 1s-.458.158-.678.599" />
|
||||
</svg>
|
||||
</div>
|
||||
<div class="signup-guide__step-dot"></div>
|
||||
<div class="signup-guide__step-label">
|
||||
<span class="signup-guide__step-num">Step6</span>
|
||||
<span class="signup-guide__step-text">서비스 개시(예약)</span>
|
||||
</div>
|
||||
<div class="signup-step__card">
|
||||
<div class="signup-step__card-num">STEP 06</div>
|
||||
<div class="signup-step__card-title">서비스 개시(예약)</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Notes Section -->
|
||||
<div class="signup-guide__notes">
|
||||
<p class="signup-guide__note">
|
||||
<span class="signup-guide__note-mark">※</span>
|
||||
<span>회원은 법인, 개인(개발자)분으로 구분되며, 개발자 포털에서 온라인으로 회원가입 신청을 합니다.</span>
|
||||
</p>
|
||||
<p class="signup-guide__note">
|
||||
<span class="signup-guide__note-mark">※</span>
|
||||
<span>포털 사용은 운영 담당자의 승인 후 가능합니다.</span>
|
||||
</p>
|
||||
<p class="signup-guide__note">
|
||||
<span class="signup-guide__note-mark">※</span>
|
||||
<span>법인 관리자는 회원 승인 이후, 포털을 실제 사용할 직원(개발자)을 추가 등록해 주시기 바랍니다.</span>
|
||||
</p>
|
||||
<div class="signup-action">
|
||||
<a th:href="@{/signup}" class="signup-action__btn">회원가입하러 가기</a>
|
||||
</div>
|
||||
|
||||
<!-- Action Button -->
|
||||
<div class="signup-guide__action">
|
||||
<a th:href="@{/signup}" class="signup-guide__btn">회원가입 하러가기</a>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</body>
|
||||
|
||||
<th:block layout:fragment="contentScript">
|
||||
|
||||
@@ -9,22 +9,7 @@
|
||||
|
||||
<!-- Section 1: Hero -->
|
||||
<header class="oauth2-2legged__hero">
|
||||
<div class="oauth2-2legged__hero-body">
|
||||
<span class="oauth2-2legged__hero-eyebrow">
|
||||
<span class="oauth2-2legged__hero-eyebrow-dot"></span>
|
||||
개발 가이드 · 2-Legged · Client Credentials
|
||||
</span>
|
||||
<h1 class="oauth2-2legged__hero-title">OAuth2 개발가이드</h1>
|
||||
<p class="oauth2-2legged__hero-lead">DJBank Open API를 호출하기 위한 ClientID/Secret 기반 토큰 발급과</p>
|
||||
<p class="oauth2-2legged__hero-lead">Bearer 인증 호출 방법을 단계별로 설명합니다.</p>
|
||||
|
||||
<div class="oauth2-2legged__hero-chips">
|
||||
<span class="oauth2-2legged__chip oauth2-2legged__chip--primary">Server-to-Server</span>
|
||||
<span class="oauth2-2legged__chip">cURL 예제</span>
|
||||
<span class="oauth2-2legged__chip">application/x-www-form</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="oauth2-2legged__hero-inner">
|
||||
<div class="oauth2-2legged__hero-illust" aria-hidden="true">
|
||||
<svg viewBox="0 0 280 200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Server-to-Server Token Flow">
|
||||
<defs>
|
||||
@@ -51,8 +36,30 @@
|
||||
<text x="140" y="170" text-anchor="middle" font-size="11" font-weight="600" fill="#64748B">Server-to-Server Token Flow</text>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<div class="oauth2-2legged__hero-body">
|
||||
<span class="oauth2-2legged__hero-eyebrow">
|
||||
<span class="oauth2-2legged__hero-eyebrow-dot"></span>
|
||||
개발 가이드 · 2-Legged · Client Credentials
|
||||
</span>
|
||||
<h1 class="oauth2-2legged__hero-title">OAuth2 개발가이드</h1>
|
||||
<p class="oauth2-2legged__hero-lead">DJBank Open API를 호출하기 위한 ClientID/Secret 기반 토큰 발급과<br>Bearer 인증 호출 방법을 단계별로 설명합니다.</p>
|
||||
|
||||
<!-- <div class="oauth2-2legged__hero-chips">-->
|
||||
<!-- <span class="oauth2-2legged__chip oauth2-2legged__chip--primary">Server-to-Server</span>-->
|
||||
<!-- <span class="oauth2-2legged__chip">cURL 예제</span>-->
|
||||
<!-- <span class="oauth2-2legged__chip">application/x-www-form</span>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="service-main">
|
||||
<!-- Sidebar -->
|
||||
<th:block th:replace="~{fragment/djbank/service_sidebar :: sidebar('oauth2')}"></th:block>
|
||||
|
||||
<div class="service-content">
|
||||
|
||||
<!-- Section 2: 사전 준비 -->
|
||||
<section class="oauth2-2legged__prereq" aria-labelledby="o2leg-prereq-title">
|
||||
<span class="oauth2-2legged__eyebrow">PREREQUISITE</span>
|
||||
@@ -183,7 +190,7 @@
|
||||
|
||||
<div class="oauth2-2legged__code-panel">
|
||||
<span class="oauth2-2legged__code-tag">cURL</span>
|
||||
<pre class="oauth2-2legged__code-block"><span class="o2leg-cm"># 액세스 토큰 발급</span>
|
||||
<pre class="oauth2-2legged__code-block"><span class="o2leg-cm"># 액세스 토큰 발급</span>
|
||||
curl -X <span class="o2leg-y">POST</span> <span class="o2leg-c">'https://openapi.djbank.co.kr/dj/oauth/token'</span> \
|
||||
-H <span class="o2leg-c">'Content-Type: application/x-www-form-urlencoded'</span> \
|
||||
-d <span class="o2leg-c">'grant_type=client_credentials'</span> \
|
||||
@@ -205,7 +212,7 @@ curl -X <span class="o2leg-y">POST</span> <span class="o2leg-c">'https://openapi
|
||||
<div class="oauth2-2legged__step-grid">
|
||||
<div class="oauth2-2legged__code-panel">
|
||||
<span class="oauth2-2legged__code-tag oauth2-2legged__code-tag--ok">200 OK · JSON</span>
|
||||
<pre class="oauth2-2legged__code-block">{
|
||||
<pre class="oauth2-2legged__code-block">{
|
||||
<span class="o2leg-c">"access_token"</span>: <span class="o2leg-y">"eyJhbGciOiJSUzI1NiJ9..."</span>,
|
||||
<span class="o2leg-c">"token_type"</span>: <span class="o2leg-y">"bearer"</span>,
|
||||
<span class="o2leg-c">"expires_in"</span>: <span class="o2leg-p">86400</span>,
|
||||
@@ -283,7 +290,7 @@ curl -X <span class="o2leg-y">POST</span> <span class="o2leg-c">'https://openapi
|
||||
|
||||
<div class="oauth2-2legged__code-panel">
|
||||
<span class="oauth2-2legged__code-tag">cURL</span>
|
||||
<pre class="oauth2-2legged__code-block"><span class="o2leg-cm"># 보호 자원 API 호출</span>
|
||||
<pre class="oauth2-2legged__code-block"><span class="o2leg-cm"># 보호 자원 API 호출</span>
|
||||
curl -X <span class="o2leg-y">GET</span> \
|
||||
<span class="o2leg-c">'https://openapi.djbank.co.kr/api/v1/accounts'</span> \
|
||||
-H <span class="o2leg-c">'Authorization: Bearer eyJhbGciOiJSUzI..'</span> \
|
||||
@@ -350,7 +357,7 @@ HTTP/1.1 <span class="o2leg-g">200 OK</span>
|
||||
<div class="oauth2-2legged__step-grid">
|
||||
<div class="oauth2-2legged__code-panel oauth2-2legged__code-panel--error">
|
||||
<span class="oauth2-2legged__code-tag oauth2-2legged__code-tag--error">401 Unauthorized · JSON</span>
|
||||
<pre class="oauth2-2legged__code-block">{
|
||||
<pre class="oauth2-2legged__code-block">{
|
||||
<span class="o2leg-c">"error"</span>: <span class="o2leg-y">"invalid_client"</span>,
|
||||
<span class="o2leg-c">"error_description"</span>:
|
||||
<span class="o2leg-y">"Client authentication failed"</span>,
|
||||
@@ -411,6 +418,8 @@ HTTP/1.1 <span class="o2leg-g">200 OK</span>
|
||||
<span class="oauth2-2legged__cta-deco oauth2-2legged__cta-deco--sm" aria-hidden="true"></span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</th:block>
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns:th="http://www.thymeleaf.org">
|
||||
<body>
|
||||
<!-- Service Left Sidebar Fragment -->
|
||||
<aside class="service-sidebar" th:fragment="sidebar(activeMenu)">
|
||||
<nav class="service-nav">
|
||||
<a th:href="@{/service/intro}"
|
||||
th:classappend="${activeMenu == 'intro'} ? 'service-nav__item--active' : ''"
|
||||
class="service-nav__item">API 포탈 소개</a>
|
||||
<a th:href="@{/service/guide}"
|
||||
th:classappend="${activeMenu == 'guide'} ? 'service-nav__item--active' : ''"
|
||||
class="service-nav__item">회원가입 안내</a>
|
||||
<a th:href="@{/service/oauth2-guide}"
|
||||
th:classappend="${activeMenu == 'oauth2'} ? 'service-nav__item--active' : ''"
|
||||
class="service-nav__item">OAuth2 개발가이드</a>
|
||||
</nav>
|
||||
</aside>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user