Develop authenticate

#13, #15, #12, #1 
実装