Can you have a web service on the server side (protected by SSL and digital certificate to make sure no one else can access it) that takes some unique MAC (or HW data) and returns the proper OAuth token to the STB?
So the flow would be:
1) STB boots up, sends unique HW data to server via web service to retrieve OAuth Token
- If token exists, go to step 4 otherwise go to step 2
2) User does OAuth authentication at STB.
3) STB stores token in local memory and sends it via web service to server side along with some unique HW data
4) STB uses OAuth token to do normal functions
5) STB is unplugged, turned off, etc that makes it lose token from local memory
Back to Step 1.
Issues to look out for:
A) User returns STB since they no longer want service. You need to clear the token somehow in case another user gets that STB. You don't want new user getting old user's data
B) STB break and user has to get a new one. Should they have to re-authenticate or would the token move over automatically to new unique HW data