2. Overview architecture
Web Apps
Web Service APIs
Mobile Apps
4. Front-end
SSO
User
ranking
1. Core User
User Data Storage
Real-time
Notification
News Feed
2. User Activity System
User Activity Storage
3. Others
Real-time Chat
Search System Suggestion System
3. Big Data System
Big Data Storage
…
External Apps
Service Data
User
Administrator
4. 1. Core User
• SSO (Single sign on system)
• User ranking
• User administrator system
• User data storage
• User info
• Action Log
• Relation: follower, followee, family
SSO
User
Ranking
User Data Storage
Service
Data
User
Administrator
5. 1. Core User: SSO System
• Registry service with SSO system
• Service ID
• Service Name
• Service Description
• …
• Private Key
6. 1. Core User: SSO System
• Sign-up form: https://sso.adayroi.net/sign-up
• Forget-password form: https://sso.adayroi.net/forget-password
• User info & update user info form: https://sso.adayroi.net/user?[id]
• Validate user:
• Generate User validation OTP: https://sso.adayroi.net/?uid
• Return JSONString: {uid, otp}
• Validate user: https://sso.adayroi.net/?uid&otp
7. 1. Core User: SSO System
• Login Form:
https://sso.adayroi.net/login?sid=adr&surl=http://adayroi.net&durl=http:/
/adayroi.net/users
• $sid: Service ID, $surl: Source URL, $durl: Destination URL
• Login redirection: [durl]?status=1&ui=Jw8HVYqmI4bJmAWQ&actoken=4bJmAWQ
• $status: 1 - login successfully, 0 - login failed
• $ui: user info: {user_id, avatar_path, username, login_time, IP} , encrypted by DES (Triple
DES), RSA
• $actoken: access token, with expired time
• Check login: https://sso.adayroi.net/login?sid=adr&surl=http://adayroi.net
• Logout: https://sso.adayroi.net/logout?sid=adr&surl=http://adayroi.net
8. 1. Core User: SSO System
• Login API: -XPOST https://sso.adayroi.net/login
• Params: {sid, username, password}
• Return: JSONString as Login redirection
• Get user Info API: https://sso.adayroi.net/user-info?[id]
• Require Login
• Return JSONString: {user_id, username, avatar_path, login_time,
last_login_time, last_login_IP,...}
• User action API: https://sso.adayroi.net/user-action?type&data
• Require Login
• Return JSONString: {status}
9. 1. Core User: User administrator system
• Summary
• Violation (avatar, info...)
• etc…
12. 1. Core User: Architect
Web Server
<Jetty server>
RESTful APIs
<Spring RESTful>
Web Forms
Request
Control
Gearman
Server
WorkersControllers
Caching
<Redis>
Database
<MySQL,
MongoDB>