Ace-T's Blog 내 검색 [네이버 커넥트 이웃 합니다~^-^/ 요청 大 환영~~]

OAuth에 대해 알아보자!

project 관련/개발 노트 2017.02.23 14:43
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

출처 : https://ko.wikipedia.org/wiki/OAuth

OAuth는 제각각인 인증방식을 표준화한 인증방식
OAuth를 이용하면 이 인증을 공유하는 애플리케이션끼리는 별도의 인증이 필요없다. 
따라서 여러 애플리케이션을 통합하여 사용하는 것이 가능하게 된다.

용어

OAuth에 관련된 용어들을 간략히 설명한다.

  • 사용자(user): 서비스 공급자와 소비자를 사용하는 계정을 가지고 있는 개인
  • 소비자(consumer): 서비스 제공자에게 접근하는 웹사이트 또는 애플리케이션이며 Open API를 이용하며 OAuth를 통해 서비스 제공자로 접근한다. 
  • 서비스 제공자(service provider): OAuth를 통해 접근을 지원하는 웹 애플리케이션(Open API를 제공하는 서비스)
  • 소비자 비밀번호(consumer secret) : 서비스 제공자에서 소비자가 자신임을 인증하기 위한 키
  • 요청 토큰(request token) : 소비자가 사용자에게 접근권한을 인증받기 위해 필요한 정보가 담겨있으며 후에 접근 토큰으로 변환된다.
  • 접근 토큰(access token) : 인증 후에 사용자가 서비스 제공자가 아닌 소비자를 통해서 보호된 자원에 접근하기 위한 키를 포함한 값.

아래처럼 용어가 1.0과 2.0과는 다르다.




인증방식

OAuth인증은 소비자와 서비스 제공자 사이에서 일어나는데 이 인증 과정은 다음과 같다.

  1. 소비자가 서비스제공자에게 요청 토큰 요청 한다.
  2. 서비스제공자가 소비자에게 요청 토큰 발급 해준다.
  3. 소비자가 사용자를 서비스제공자로 이동시킨다. 여기서 사용자 인증이 수행된다.
  4. 서비스제공자가 사용자를 소비자로 이동시킨다.
  5. 소비자가 접근토큰을 요청한다.
  6. 서비스제공자가 접근토큰 발급한다.
  7. 발급된 접근토큰을 이용하여 소비자에서 사용자 정보에 접근한다.




저작자 표시 비영리 변경 금지
신고

'project 관련 > 개발 노트' 카테고리의 다른 글

JsonLint - Json validator 소개  (0) 2017.06.02
OAuth에 대해 알아보자!  (0) 2017.02.23
2014.11.20 - 개발노트  (0) 2014.11.20
mom 프로젝트 시작! ㅋㅋ  (0) 2014.11.17
RND Site 구축  (0) 2014.05.09
bootstrap을 가지고 잠시 만들어보았다..  (0) 2014.05.05

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

Google API.AI

AI/info 2017.02.20 19:01
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

https://docs.api.ai/docs/key-concepts

API.AI is built on a number of concepts. It’s good to understand what they are before trying anything hands-on.

Agents correspond to applications. Once you train and test an agent, you can integrate it with your app or device.

Entities represent concepts that are often specific to a domain as a way of mapping natural language phrases to canonical phrases that capture their meaning.

Intents represent a mapping between what a user says and what action should be taken by your software.

Actions correspond to the steps your application will take when specific intents are triggered by user inputs. An action may have parameters for specifying detailed information about it.

Contexts are strings that represent the current context of the user expression. This is useful for differentiating phrases which might be vague and have different meaning depending on what was spoken previously.




저작자 표시 비영리 변경 금지
신고

'AI > info' 카테고리의 다른 글

AVS 가 뭐지?  (0) 2017.03.07
Google API.AI  (0) 2017.02.20
About Alexa  (0) 2017.02.17

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

About Alexa

AI/info 2017.02.17 17:44
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

ALEXA SKILLS


ALEXA SKILLS

intents / slot

intent와 매칭되는 질문들을 목록으로 만들어 제공.


SKILLS를 만들 때 고려해야 하는것?

타입고려 : 예를 들어 커스텀 스킬은 피자 주문 같은것이고 스마트홈 스킬은 불켜고 끄고 하는 것. 브리핑 스킬은 신문을 읽어주거나 하는 것.

시스템과 유저가 상호작용하는 경우 - Request가 덜 채워져있으면 다시 질문하여 의도를 파악 한다.


저작자 표시 비영리 변경 금지
신고

'AI > info' 카테고리의 다른 글

AVS 가 뭐지?  (0) 2017.03.07
Google API.AI  (0) 2017.02.20
About Alexa  (0) 2017.02.17

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

go lang Tip.

Language/go lang 2017.02.15 17:45
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


tip_1 ) Test를 하고 싶다면?

아래와 같은 사이트가 있는데 이녀석은 테스트에서 사용 되어진다고 한다. 아직 사용해본적은 없지만 사용하게 되면 포스팅 하도록 하겠다.

http://goconvey.co/


tip_2) Mac에서 짠 뒤에 리눅스에서 동작하게 하려면?

build를 할 디렉토리에서 아래와 같이 env GOOS=linux라고 지정!

ex) env GOOS=linux go build


tip_3) go에서 패키지 관리는 어떻게 할까?

Java에 Maven같은게 있다면 Go는 glide라는 것이 있습니다.

https://github.com/Masterminds/glide

활용은 https://glide.sh/ 를 참조 또는 아래를 참조!

$ glide create                            # Start a new workspace - glide.yaml이 생성 된다!
$ open glide.yaml                         # and edit away!
$ glide get github.com/Masterminds/cookoo # Get a package and add to glide.yaml
$ glide install            # Install packages and dependencies - glide.lock(버전관리)가 생성.
# work, work, work
$ go build                 # Go tools work normally
$ glide up                 # Update to newest versions of the package - 사용잘 안함.

이것을 사용하는 이유는 디펜던시가 있는것은 패키지 관리에서 하면 좋다.

ex) $ glide get github.com/foo/bar


tip_4) go의 lib같은것은 어디서 검색하나? 구글? 다음?

https://godoc.org/

https://github.com/avelino/awesome-go

https://golanglibs.com/

위의 사이트에서 우선 찾아보자! 없는게 없다~


tip_5) golang study site

https://tour.golang.org/list




저작자 표시 비영리 변경 금지
신고

'Language > go lang' 카테고리의 다른 글

golang 정리  (0) 2017.05.18
GOROOT와 GOPATH  (0) 2017.04.27
go land에서 formatting 설정하기  (0) 2017.04.26
go lang Tip.  (0) 2017.02.15
go lang - fresh를 사용해 보자.  (0) 2017.02.15
go lang을 해보자.  (0) 2017.02.03

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

go lang - fresh를 사용해 보자.

Language/go lang 2017.02.15 17:29
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


이번 내용은 go get 이라는 명령어를 통해 Fresh 라는 것을 사용해 보자.

Fresh is a command line tool that builds and (re)starts your web application everytime you save a Go or template file.

저장 하면 바로바로 적용이 된다.

https://github.com/pilu/fresh 에서 README.md를 참조!


Installation

go get github.com/pilu/fresh


실행은 어플리케이션이 있는 곳으로 이동한 뒤에 fresh 라는 명령어를 쳐주면 서버가 기동 되어진다.

fresh의 프로세스를 kill을할 때 유의 점으로는 fresh 말고도 runner_build라는것을 kill 해주어야 한다.





저작자 표시 비영리 변경 금지
신고

'Language > go lang' 카테고리의 다른 글

golang 정리  (0) 2017.05.18
GOROOT와 GOPATH  (0) 2017.04.27
go land에서 formatting 설정하기  (0) 2017.04.26
go lang Tip.  (0) 2017.02.15
go lang - fresh를 사용해 보자.  (0) 2017.02.15
go lang을 해보자.  (0) 2017.02.03

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

go lang을 해보자.

Language/go lang 2017.02.03 10:39
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

  1. 링크를 통해 OS에 맞는 것을 다운 받는다. (https://golang.org/dl/)
  2. home에서 go dir를 하나 만들어준다.
  3. 다운 받은 pkg를 클릭클릭 하여 셋팅해준다.
  4. .bash_profile에 환경변수를 잡아준다. 

        # GOPATH
        export GOPATH=$HOME/go
        PATH=${PATH}:/usr/local/go/bin:${GOPATH}/bin

    5. go 라는 명령어를 통해 잘 깔렸는지 확인.

더보기


go가 이제 셋팅 되었다! 코드를 짜기전에 github에 레파지토리를 하나 만들자.

   6. github repository 생성

위에서 home밑에 go 디렉토리를 만들어줬다. 이제 그 아래에 src라는 디렉토리를 하나 더 만든다.(go lang 구조)

그런뒤에  /goStudy github의 레파지토리를 디렉토리로 만들어준다.

home>go>src>ace-t>goStudy dir이 만들어졌다면 이 안에서 git clone을 해준다.

ex) terrypark@MacBook-Pro:~/go/src/ace-t/goStudy$ git clone https://github.com/ace-t/goStudy.git

아래처럼 .git과 README.md가 보일 것이다.


이제! 대망의 소스를 코딩 해 보자! 필자는 지인분이 추천해준 해당 사이트를 따라해보려고 합니다.(https://mingrammer.com/gobyexample/)

먼저 go 파일을 하나 만들어줍니다.

terrypark@MacBook-Pro:~/go/src/ace-t/goStudy/goStudy$ vi hello-world.go

아래와 같이 소스를 코딩합니다.

package main

import "fmt"

func main() {

        fmt.Println("hello world")

}


실행해봅니다.

terrypark@MacBook-Pro:~/go/src/ace-t/goStudy/goStudy$ go run hello-world.go

hello world


이제~~위의 사이트에서 문법을 차근차근 해보면 되겠습니다.

어느정도 문법이 익숙해지면 좀 더 들어가보도록 하겠습니다.

ace-t github : https://github.com/ace-t/goStudy/tree/develop

github을 많이 사용하도록 해봐야겠습니다. ㅎㅎ

  - 끝 -




저작자 표시 비영리 변경 금지
신고

'Language > go lang' 카테고리의 다른 글

golang 정리  (0) 2017.05.18
GOROOT와 GOPATH  (0) 2017.04.27
go land에서 formatting 설정하기  (0) 2017.04.26
go lang Tip.  (0) 2017.02.15
go lang - fresh를 사용해 보자.  (0) 2017.02.15
go lang을 해보자.  (0) 2017.02.03

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

티스토리 툴바