Creating a non-web-view-based sign-in screen for Microsoft SkyDrive - rest

I am trying to implement a sign in view like the one displayed below to allow users to sign into their Microsoft Live account and then allow the app to pull down their SkyDrive data.
I have been reading the API documentation at msdn and it seems that the documentation is centered on you using a standard web UI login form which I would like to avoid (pictured below).
So I am looking for documentation or an example of implementing a custom login form to login to windows live to get SkyDrive data. Any information would be extremely helpful as I am pretty stuck.
Note: There is also an issue open on github regarding the this same topic.

After doing some digging I discovered that microsoft will only allow you to log in using OAuth 2.0 through their interface (pictured above). What I originally wanted goes completely against the design of their SDK and isn't/wont be supported.
According to an issue posted on github, there may eventually be a way to allow authentication through the Skydrive iOS app. As of now however, there is only one way to authenticate, through their SDK or API.
This is also stated in the documentation:
Your app must initiate the sign-in process by contacting the Live Connect authorization web service.
Resources:
Documentation
Github Issue
LiveSDK-iOS

Related

Is Instagram Content Publishing API available in a test environment without being a partner?

I'm looking at setting up an Instagram app so I can push content from my app directly to Instagram. I'm already doing this for Facebook, LinkedIn, and Twitter.
I know that Instagram is in the middle of moving to the Facebook Graph API, and it seems like there are several barriers to even start developing an app.
At the top of the Getting Started link there's a blurb stating that I need to undergo "Business Verification" to use the Instagram Graph API. Do I need to do this in order to use these endpoints in sandbox mode? (Edit: I believe this must be done in order to test the non-beta aspects of the API) In addition, the Content Publishing API seems to be locked down even further, requiring parternship with either Facebook or Instagram, and neither are accepting new applications.
Is there some way to test this in sandox mode without becoming a partner?
(Edit: Testing your app Suggests that I must do business validation in order to use the non-beta aspects, and there's no permission for publish_content, leading me to believe that I must be a business partner to even test this feature. Can anyone confirm?)
Januray 26, 2021
The Content Publishing beta has ended and all developers can now publish media on Instagram Professional accounts. Refer to the Content Publishing guide for usage details.
https://developers.facebook.com/docs/instagram-api/guides/content-publishing

Make own authorization page to access Google Apps

I hope you can direct me with my query.
I wish to create my own authentication method for users in my Google Apps for Work account. Currently I am using built in Google Authentication, however I wish to build my own authentication method in PHP, Phyton or .NET; language doesn't matter really. So I want users to go to the page I will create, then they will need to pass authentication and be logged to Google Apps.
I know SSO is the way to do it but after my research I found very little about how to achieve it with Google Apps. I mean there is tones of third party platforms like OneLogin etc but I would like to have something I build myself. Ideally I would like to have some examples of SSO which works with GAFW so I could figure out the rest myself. I read somewhere that building own SSO portal it's not a piece of cake and also found an article that you can create something based on oAuth2.0 instead. So tried research about oAuth2.0 but all documentation I found is about authenticating to the application that I build using Google Apps Credentials, where I want the opposite; to be able to access Google Apps using the app that I build.
Hope someone could direct me to some examples or documentation or explain the process of learning curve to get my head around this project of building SSO for GAFW.
If you want to write your own Auth system and become the Identity Provider (IdP), you need to use SAML as that is the only supported method for now.
Here are the step by step instructions

Sitecore Social Connected will not connect with Facebook as publish_stream is deprecated

I am trying to connect Social Connected to Facebook using Sitecore 8's (rev 5) Social Connected functionality (we are unable to use Komfo for budget reasons) however i've had a few issues. I was following this walkthrough from the Sitecore documentation site.
I was getting this error when trying to connect a Facebook account:
"Invalid Scopes: read_stream. This message is only shown to developers. Users of your app will ignore these permissions if present.
Please read the documentation for valid permissions at: https://developers.facebook.com/docs/facebook-login/permissions"
So I went ahead and did some reading and found this Stack Overflow question
which from the information there I was able to find that the particular permissions that Sitecore is asking Facebook for are deprecated.
From there I changed the permission from publish_stream to publish_actions and was able to give Sitecore the permissions it needed in Facebook. The problem is that Sitecore wanted this to be done in the browser window it provided, and so it did not acknowledge that the permissions were set in Facebook, even though they were.
I then tried to manually add a social media account from a template, hoping to input the data it would need manually now that it had the appropriate permissions. However after doing this Sitecore then started to throw an error when adding other social media accounts:
"The Social Connected Module is not configured.
There are no social networks available with applications that you can use to create an account."
Social connected is in fact configured, and before making these changes I was still able to add other social media accounts. Recreating the Applications solves this issue but puts me back at square one.
Any ideas on how we can rectify these issues would be greatly appreciated.
I managed to get around this issue. First, in the content editor, I created a Facebook application under System/Social/Applications. Then, I created a social media account under System/Social/Accounts for LinkedIn and then duplicated it, changing the configuration to suit Facebook.
Once I did this I was able to post text posts to Facebook and Twitter. I was not able to get image posts working, and by this time, we abandoned the idea.
It's worth noting that Sitecore continued to push us toward Komfo. It's pricey and is essentially an iframe placed in the Sitecore UI with limited functionality. There are other tools out there that will give you similar analytics features for a fraction of the price.
It's also worth noting that the social connected functionality in Sitecore 8.1 appears to ask Facebook for the correct permissions, so you wont have this issue. I cannot vouch for its functionality in terms of actually posting as I haven't fully tested it.
Fortunately, Facebook permissions are only string and you can easily modify it using reverse engineering. It was done for Sitecore 7 version, but I think same approach will work for Sitecore 8.
Also, you are able to create a ticket in Sitecore support and they will provide you hotfix for this issue.

Facebook: submitting a native Windows app for review

I built a native Windows app (non Windows-Store) that uses the Facebook API.
I wanted to make it public which means going through their review process which means (among other things) selecting the app's platform.
Sadly a native Windows app is not one of the choices: Facebook app platform selection screenshot
I found 2 unanswered questions on SO on the same topic:
one
two
How should this be done in a proper way?
Thanks in advance.
PS:
I found a post a few days ago where the poster said he registered such an app by setting the platform to "web site" (I didn't keep the link).
This does not look like a good long term solution and also I don't have a domain to provide.
In short, you must set your platform to Web.
The reason for this can be found in the official documentation on building your native logon flow. There is no secure way of creating a logon flow without a server, as this would imply storing your App Secret inside your binary or app config file.
So the recommended (and only supported) way is to create a server which stores the App Secret and handles authentication for you. And use this server from the WebBrowser/WebView control which you embed into your native application.
This means you use the logon flow from a web browser via a custom server and you should have a domain for it (a domain is quite cheap nowdays, it should not be a problem). So you are building a web app embedded into a native app.
For a successful login review do the following:
Choose Web as your platform
On the Settings page in the Advanced tab choose Native App.
Create a screencast (Start your app, logon, use all the requested permissions and that's it. Do not edit it!) and upload it to the web (YouTube/Vimeo/...)
When submitting provide a link to your screencast.

Get user OpenID URL without user interaction

I have an packaged app in the Chrome Web Store that I'd like to transition from a paid app to a free one with in app purchases. I need to be able to detect if the current user had paid for the app previously.
To be able to use the licensing API, I need the current user's OpenID URL. I was able to get this to work using chrome.identity and a popup dialog that the user has to authorize. But it is a bad experience and kind of a scary dialog.
For hosted apps, it's possible to get the user's OpenID URL without any user interaction or authorization. (see How to skip the OpenID approval screen). It would be fantastic if somebody knows how to make this work without user interaction for packaged apps.
I've detailed some of the approaches I've tried on this chromium-apps thread. I suspect it may be possible to do this with chrome.identity.launchWebAuthFlow but I wasn't able to discover the exact incantation of parameters to google's oauth/openid endpoints to make this happen silently.
I think you need to refer to this Link1 Parameters
this parameters are different techniques using that you can do this task..
also To bypass the Login/approval screen refer this link2
Here in the section How to skip the OpenID approval screen the details are explained which you can use..
And In case of packaged app this should ask for permanent permission that will help in OAuth throughout the life of app..
Client Library JavaScript Based
Authentication using Library
After your comment I thought this you can bind in your app.!!
Let me know what works for you..