Earlier quoted context omitted.
OAuth 2.0. The mechanism Facebook is a little screwed up and frankly seems somewhat insecure itself, but it is still going to be hundreds of times better than distributing your /secret key/ in your app. For more details, scroll down to "Desktop Apps" (which is near the bottom) on Facebook's authentication documentation: https://developers.facebook.com/docs/authentication/
Does this avoid embedding keys in the application itself? IMO it's kind of impossible to reliably 'authenticate' a desktop application.
"The app secret is available from the Developer App and should not be shared with anyone or embedded in any code that you will distribute (you should use the client-side flow for these scenarios)."