예제 #1
0
        /// <summary>
        /// 얻어온 코드값을 반환해주는 함수 (뷰를 띄워주는 진입함수가 된다)
        /// </summary>
        /// <param name="clientId"> 클라이언트 id</param>
        /// <param name="scopes"> 접근 권한 주소가 담긴 list</param>
        /// <param name="userid"> 유저를 구분하기 위한 유저의 이름 (닉네임)</param>
        /// <param name="owner"> 부모 뷰의 핸들 (설정하지 않으면 기본값 null)</param>
        /// <returns></returns>
        public static async Task <string> GetAuthenticationToken(string clientId, IEnumerable <string> scopes, string userid, string starturl, string endurl, LoginOption option, IWin32Window owner = null)
        {
            string startUrl    = starturl;
            string realurl     = starturl;
            string completeUrl = endurl;
            string realendurl  = endurl;

            // 클라이언트 id와 접근 권한 리스트를 가지고 시작 url의 매개변수를 구성한다.
            GenerateUrlsForOAuth(clientId, scopes, out startUrl, out completeUrl, realurl, realendurl, option);
            // 만들어온 시작 url을 이용하여 로그인 폼을 새로 만든다.
            loginform authForm = new loginform(startUrl, completeUrl, userid, option);
            // 로그인 폼 화면을 띄워준다.
            DialogResult result = await authForm.ShowDialogAsync(owner);

            // 화면이 정상적으로 종료 되었을떄 실행
            if (DialogResult.OK == result)
            {
                // 얻어온 코드값을 반환해준다.
                return(OnAuthComplete(authForm.code));
            }
            return(null);
        }
예제 #2
0
 /// <summary>
 /// 얻어온 코드값을 반환해주는 함수 (뷰를 띄워주는 진입함수가 된다)
 /// </summary>
 /// <param name="clientId"> 클라이언트 id</param>
 /// <param name="scopes"> 접근 권한 주소가 담긴 list</param>
 /// <param name="userid"> 유저를 구분하기 위한 유저의 이름 (닉네임)</param>
 /// <param name="owner"> 부모 뷰의 핸들 (설정하지 않으면 기본값 null)</param>
 /// <returns></returns>
 public static async Task<string> GetAuthenticationToken(string clientId, IEnumerable<string> scopes, string userid, string starturl, string endurl, LoginOption option, IWin32Window owner = null)
 {
     string startUrl = starturl;
     string realurl = starturl;
     string completeUrl = endurl;
     string realendurl = endurl;
     // 클라이언트 id와 접근 권한 리스트를 가지고 시작 url의 매개변수를 구성한다.
     GenerateUrlsForOAuth(clientId, scopes, out startUrl, out completeUrl, realurl, realendurl, option);
     // 만들어온 시작 url을 이용하여 로그인 폼을 새로 만든다.
     loginform authForm = new loginform(startUrl, completeUrl, userid, option);
     // 로그인 폼 화면을 띄워준다.
     DialogResult result = await authForm.ShowDialogAsync(owner);
     // 화면이 정상적으로 종료 되었을떄 실행
     if (DialogResult.OK == result)
     {
         // 얻어온 코드값을 반환해준다.
         return OnAuthComplete(authForm.code);
     }
     return null;
 }