728x90
반응형
SMALL

전체 글 39

OIDC

🔐 OIDC란? (OpenID Connect)**OIDC(OpenID Connect)**는OAuth2를 기반으로 사용자 인증(Authentication) 기능을 추가한 SSO 표준 프로토콜입니다.📌 즉,OAuth2 = 권한 위임 (인가)OIDC = 로그인 + 권한 위임 (인증 + 인가)✅ 핵심 개념 요약구성요소설명Authorization Server로그인 처리 및 토큰 발급 (예: Google)ID Token사용자의 인증 정보가 담긴 JWT 토큰Access Token리소스 접근용 토큰 (OAuth2와 동일)UserInfo Endpoint사용자 정보 조회 API 제공 🔄 OIDC 인증 흐름 (로그인)사용자가 앱에서 로그인 시도앱은 인증서버(Google 등)로 리디렉션사용자는 로그인 후, 동의인증 서버..

기타 2025.07.04

OAuth2

🔐 OAuth2란?**OAuth2 (Open Authorization 2.0)**는제3의 애플리케이션이 사용자 비밀번호를 몰라도인증된 리소스 접근 권한을 위임받을 수 있도록 설계된 인가 프로토콜입니다.즉, “내 계정을 누구한테 잠시 빌려주는 것” 같은 개념입니다.✅ 핵심 개념용어의미Resource Owner사용자Client로그인하려는 앱 (예: 챗봇, 쇼핑몰)Authorization Server인증 서버 (예: Google, Naver)Resource Server사용자의 데이터가 있는 서버 (예: Google Drive)Access Token권한을 증명하는 임시 열쇠 🔄 기본 흐름사용자가 Client(앱)에서 로그인 시도Authorization Server로 리디렉션되어 로그인사용자 동의 → Acce..

기타 2025.07.04

SAML

🔐 SAML이란?**SAML(Security Assertion Markup Language)**은기업 환경에서 가장 널리 사용되는 SSO 프로토콜 중 하나로,XML 기반의 인증/인가 데이터 교환 표준입니다.✅ 핵심 개념구성요소설명IdP (Identity Provider)사용자 신원을 확인하는 인증 서버 (예: Okta, ADFS 등)SP (Service Provider)사용자가 실제로 접속하려는 서비스 (예: Slack, Notion 등)AssertionIdP가 SP에게 보내는 “이 사용자는 인증됨”이라는 전자 서명된 문서 🧭 인증 흐름 요약사용자가 SP(예: Notion)에 접근SP는 IdP로 리디렉션사용자는 IdP 로그인 화면에서 인증IdP는 서명된 SAML Assertion을 SP에 전달SP는 ..

기타 2025.07.04

SSO

📘 1. SSO란?🔹 SSO 정의: 한 번 로그인으로 여러 서비스 이용🔹 왜 필요한가? (예: 여러 앱 로그인 피로, 보안 향상)🔹 사용자와 관리자 관점의 장점🔐 2. 인증 vs 인가 개념 정리✅ 인증(Authentication)과 인가(Authorization)의 차이✅ OAuth2는 인가, OIDC는 인증이라는 구조✅ 이 개념이 SSO에서 어떤 역할을 하는지 설명🌐 3. 대표적인 SSO 표준프로토콜설명사용 예SAMLXML 기반, 기업용 앱에 많이 사용슬랙, 노션OAuth2토큰 기반 인가, API 접근 제어구글, 네이버OIDCOAuth2 확장 → 사용자 정보(ID 토큰) 제공구글 로그인 🏗 4. SSO 시스템 구조✅ IdP(Identity Provider) vs SP(Service Prov..

기타 2025.07.04

내프로젝트 디렉토리 구조 확인하는 방법

개발을하다가 gpt한테 내 프로젝트 구조를 알려주고싶은데? 할때가 있다.그럴 때는 tree 를 사용하면된다.사용방법은 내 프로젝트의 상위 디렉토리로 터미널로 이해서 tree하면 다보여준다.없으면 설치해야한다.brew install tree그런데 tree만하면 너무 다보여줘서 tmi 이다.그래서  아래처럼 입력하면 디렉토리의 두번째 까지만 보여준다. tree -L 2그런데 쓸데없이 안보고싶은 설정 파일같은게 하나씩있는데 이 디렉토리안에는 무수히많은 파일들이 있는 경우가 있다.그럴때는 아래처럼 입력해서 출력하는 걸 제외시키는 방법이있다 tree -L 2 -I "node_modules" 이제 gpt에게 내 디렉토리도 친절하게 알려줄수있게되었다. 끝.

기타 2024.12.26

Gradle 프로젝트 import시 에러발생 해결 (org.gradle.tooling.BuildException: Could not fetch model of type 'GradleBuild' using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-8.2.1-bin.zip'.)

Spring boot 프로젝트를 받아와서 import하는데 문제가 생겻다.뭐 버전이 안맞다고 나온다.그래서 프로젝트 root에서 gradle/wrapper/gradle-wrapper.properties의 distributionUrl의 설정값을 업데이트된 버전으로  변경해서 테스트해보니 어쩌다 성공했다.그런데 이렇게 해결해서는 안된다고 생각이들어서 더알아봣다.https://stackoverflow.com/questions/26281466/eclipse-gradle-plugin-could-not-fetch-model-of-type Eclipse Gradle Plugin 'could not fetch model of type'I am running Eclipse Luna on OS X with Gradle I..

Java 2024.12.26

사이드 프로젝트 1. 개발 내용 결정

사이드 프로젝트를 시작한지 2일차이다.사이드 프로젝트는 유튜브에 올려가면서 진행할 계획이다.https://youtu.be/7G3gxAUMAqo?si=BeIjgM-bvLR11Q3x진행은 개발 + 티스토리를 동시에하고 그걸 뒤에서 영상을 찍고 편집해서 올리는식으로 하루 개발을 할 계획이다.영상편집을 맥북 언박싱연상이후로 두번째 편집을하는데 조금씩 기능에 익숙해져간다. 그런데 가장 중요한 영상미에 대한 센스가 없다.나름대로 열심히 영상편집을해서 올린걸보면 별로 재미가없다. 유튜버의 길은 쉬운게 아닌것같다.영상에서는 사이드프로젝트로 뭘 할지 결정을 했다. 그런데 뭘만들지를 공개하는게 좋을지 말지 고민이다. 뭔가 아이디어는 공개하면 안되는 그런거 같아서 그렇다.일단은 개발은 1인개발로 나혼자 할것이다.시스템사양은..

사이드 프로젝트 시작

사이드 프로젝트를 시작할것이다.왜냐하면 드디어 맥북을 샀기 때문이다.https://youtu.be/n2YBt6rIIeU?si=NH8HV2Wk4Hgca_pm 나는 컴공에 개발자인데도 맥북을 너무 늦게샀다.대학교때는 삼성 생태계엿고, 회사에 입사하고는 맥북을 지급받았기 때문이다.지급받은 노트북은 m1 pro  13인치 모델로 이 노트북으로 내 개인적인 프로젝트를 진행해도 괜찮은 성능이다.그래도 개인 맥북정도는 있어야한다는 생각일 있었고, 일하는 노트북과 따로 공부하는 노트북을 분리하고싶어했다.그래서 샀다.그값이 400만원이다.그래도 내가 잘한다면 400만원 값어치를 할수있지않을까? 라는 생각을 했다.일종의 투자라고 생각한다.나는 반드시 이 노트북에서 400만원 이상을 뽑아먹어야 한다.그래서 블로그, 유튜브 ..

FTP 서버에 이미지 저장하기 (NAS 서버에 이미지 저장)

FPT NAS서버에 이미지를 저장하는코드이다. private String saveImage(MultipartFile image) { String server = "FTP 서버 IP"; // FTP 서버 IP String username = "FTP 서버 사용자명"; // FTP 서버 사용자명 String password = "FTP 서버 비밀번호"; // FTP 서버 비밀번호 String remoteDir = "저장할 원격 디렉토리"; // 저장할 원격 디렉토리 FTPClient ftpClient = new FTPClient(); try { // FTP 서버에 연결 ftpClient...

Java 2024.12.14
728x90
반응형
LIST