Ok, 설치에 약간의 배경이 있습니다.C# 응용 프로그램에서 api 자격 증명을 올바르게 보호하는 방법
저는 현재이 편안한 API의 서버 측 인 웹 Api2 프로젝트를 가지고 있습니다. 클라이언트는 현재 사용자 이름/비밀번호 조합을 사용하여 베어러 토큰을 얻습니다.이 토큰은 이후 api 호출에 사용됩니다. 프로젝트는 GitHub의 개인 프로젝트에 저장됩니다.
이 API를 활용할 C# Windows 서비스를 빌드하고 배포하려고합니다. 이 Windows 서비스와 함께 자격 증명을 배치/저장하는 것과 관련하여 가장 좋은 방법은 무엇입니까?
나는 API의 양 끝을 제어하고 나는 또한 창 서비스의 배치를 통제 할 것이다. 이것은 msi 패키지로 제공되며 일부 타사 소프트웨어 (자동화 됨)를 통해 배포됩니다. 여기
는- 자격 증명
- 자격 증명이 클라이언트 측에서 일반 텍스트가 될 수 없습니다 소스 제어에 저장 될 수없는 요구 사항입니다.
내 질문은, 어떻게 일반 텍스트가 아닌 사용 가능한 형식으로 클라이언트에 API 자격 증명을 얻을 수 있습니까?
아니면 api에 대해 다른 인증 유형을 조사해야합니까? 나는 oauth2에 대해 간략하게 살펴 봤지만 클라이언트 측에서 누군가를 받아 들일 필요가 있다고 말할 수있는 범위까지?
누구든지이 작업을 수행하는 방법에 대한 조언이나 자료가 있다면 정말 멋지게 될 것입니다.
문제를 직접 해결하지는 않았지만 정확한 경로에 표시했기 때문에 이것을 답으로 표시 할 것입니다. 해당 클라이언트 서버에는 이미 다른 타사 소프트웨어의 일부로 액세스 할 수있는 GUID가 저장되어 있습니다. 이러한 GUID는 서버 측에서도 사용할 수 있으므로 인증을 위해 GUID를 사용하는 기술적으로 "열린"API를 사용하기로 결정했습니다 – tjackadams