IoT에서 OAuth2
물론 FreeBSD가 동작하고 있는 RT3050인 디바이스에 shttpd를 빌드해 둔다. https를하기 위해 libssl도 필요했습니다. ZRouter 에는 profiles/contrib 에 shttpd 1.42 가 들어 있습니다. shttpd 은 mongoose 이라는 프로젝트로 옮겨진 것 같다.
mongoose 쪽은 소스의 다운로드가, com인 사이트에 유도되기 때문에, 프로젝트를 팔아 버려, 상용 라이센스와 GPL인 라이센스가 바뀌어 버렸을지도 모른다.
https 할 수 있는 가벼운 실장을 여러가지 찾아 보았지만, shttpd가 제일 저렴하다. mruby에서도 http 서버의 구현은 있지만 현재 https는 지원되지 않는 것 같습니다.
증명서는 올레올레 증명서를 pem으로 만들고, 비밀 열쇠의 pem로 cat 해 둔다.
$ shttpd -ssl_cert shttpd.pem -ports 80,443s
shttpd 1.42 started on port(s) 80,443s, serving .
shttpd는 google에서 검색해도 거의 정보가 걸리지 않는다. . . ssl의 경우 ports의 번호의 뒤에 s를 붙이는 것을 모르고 조금은 빠졌다.
다음 HTML을 넣어 둡니다.
<HTML>
<BODY>
<A HREF="https://www.dropbox.com/1/oauth2/authorize?client_id=himitu&re
sponse_type=code&redirect_uri=https://10.0.1.8/oauth2.cgi&state=morimori">
DROPBOX OAuth2</A>
</BODY>
</HTML>
이 링크를 두드리면 DropBox에 날아 로그인하고 있으면 승인의 페이지로 천이한다.
DropBox의 My apps 등록 페이지의 Redirect URIs에 https://10.0.1.8/oauth2.cgi를 추가해 두는 것도 잊지 마세요.
대략의 흐름은 이런 느낌.
나중에 oauth2.cgi에 전달 된 URI 코드를 사용하여 Bearer Token을 선택하여 API에 액세스합니다.
app secret는 쉽게 보이는 곳에 두지 않도록 해야 합니다.
OAuth2의 좋은 점은 OAuthe에서는 SHA1 등의 해시 처리가 필요했던 것이 없는 것이 있습니다.
Reference
이 문제에 관하여(IoT에서 OAuth2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yamori813/items/1df4ddcce976476767e1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)