Using windows azure authetication for mobile services - facebook

I making windows phone apps and i find out that windows azure have "identity" feature to authenticate user and getting userID,
what i want to know is:
can i use this userID to identify each user that login? (my app allow user to post a comment into the app and i looking for using this userID for tracking each user comment)
can i retrieve other data beside userID? like display name or picture and is it same like using their native sdk? (facebook or twitter)? to post into timeline?
My first approach is trying to integrate microsoft account but i don't know where to get client id and client secret
sorry for many question, i just getting very confuse about this... and after hours of watching channel9 and reading i just barely understand any of this...

have a look at the following blog posts using Azure Mobile Services and see if it helps you:
Getting user information on Azure Mobile Services
Enhanced users feature in Azure Mobile Services

Related

Google assistant account linking with facebook

I'm trying to make a chatbot with Dialogflow for Google Home. It requires the user to input a URL. Now it will definitely be a long and complicated URL which I can't recreate and I can't have the user speak into the google home.
The idea I had was that the user would input the URL on an agent on messenger. I store this on a Firebase database and then access it with a second agent.
Now the issue I have is authentication, I was hoping to use account linking on my google action with facebook. But I can't login to Facebook with google home. Or if I can, I can't find any documentation specific to that case. Facebook doesn't provide the necessary client ID and secret(as far as I can see).
I managed amazon and Gmail account linking with Alexa and an Amazon Echo. In those cases, you would have to login to google or amazon on the Alexa app or webpage. Then this will be integrated with your Echo and the skill will become usable.
Anyone have an idea of how I can make the link happen, if not then anyone have an idea as to how I can solve the overall problem?
This question has been left unanswered on other forums, but I was hoping to either get it solved or find an alternative.
There are three approaches to solving your overall problem - getting the URL manually entered and available to your Action. Two of them tackle it the way you've suggested - involving authenticating to Facebook and tying that to the Assistant account somehow. One solves it entirely inside the Assistant.
Account linking to the Facebook account
You've tagged firebase-authentication, so I'm going to assume that you're using it to do the auth and you've enabled Facebook login through it. This means your user has a "Firebase Account", but they log into that account using Facebook.
I will assume you have a way to get the URL from messenger once they're logged in.
The trick in this case is to setup Account Linking between their Firebase account and their Assistant account. This is done by setting up an OAuth2 server that has access to the Firebase accounts and will create authorization and refresh tokens that are given to the Assistant.
In the Action, you'll send the user to the Sign In helper, which will redirect them to your login page and send back a one-time auth code to the Assistant. The assistant will then use your OAuth2 server to exchange this code for auth and refresh tokens. Periodically it will use the refresh token to get new auth tokens.
When the user returns to the conversation through the Assistant, you'll be handed an auth token and you can use this to lookup the user. Since you also know their Facebook account, you can get the URL via however you planned to do so.
There are drawbacks to this method - it is very complicated, and setting up your own OAuth2 server is not for the faint of heart. You may be able to use something like Auth0 instead of Firebase Authentication to accomplish the same thing, but then you don't have the ease of access to the Firebase database.
Account linking to both Facebook and Google
In your Firebase account, however, you don't need to limit them to just logging into Facebook. You can have them use Firebase to record both the Facebook and Google accounts that they're using. This would "link" the two accounts together in your system.
With this, you don't need to setup an OAuth2 server. Instead, you can have the Assistant use Google Sign In for authentication. If the Google Cloud Project that Firebase is using and the Assistant are using are the same project, then once the user has logged in to your project's web page with their Google account, you'll get an identity token on the Assistant which will contain their Google ID. You can use this to match up with their Firebase account and get the Facebook ID and proceed from there.
But this is still a lot of work and kinda messy, jumping between systems.
Using just the Google Assistant (and maybe a web page)
If you're willing to make some assumptions about the devices your users are using, then you may be able to do it all just using the Assistant. The Assistant doesn't just run on the Google Home and other smart speakers, it also works on most current Android and iOS devices.
So you can detect if they have such a device available and, if they do and they're not currently on it, direct them to switch to that device when you need the URL.
If they don't have such a device available (perhaps because their version of Android is older), and you think this may be a common scenario, you may need to make another entry source available. This could be one of the solutions above, or you may want to just have a simple web page (done via Firebase Hosting and Firebase Functions, perhaps) where they log in using their Google account (so you get their ID) and you let them enter the URL. If you just need a URL - going through Dialogflow may be more complexity than you need.

Can you add user roles to IBM Cloud App ID

I have an application that uses IBM Cloud App ID for authentication and now we have come the the conclusion that we might need user-role authentication. I have found that there is nothing in the docs explaining if it is possible so I assume it is not but would like some clarification.
Basically just being able to have an account and login is not enough we need to see what type of user that person is so we can restrict some content to admins via IBM Cloud App ID. Have anyone accomplished this? And if so how?
Link to IBM Cloud App ID https://www.ibm.com/cloud/app-id
From my experience, adding user roles and management is not done with App ID directly, but it can be integrated. App ID is kind of a wrapper around different identity providers such as SAML, Facebook, Google or the built-in Cloud Directory.
There is a cloud solution tutorial using App ID. The code for that tutorial is multi-tenant ready and implements several roles, e.g., admin, tenant admin, viewer, etc.

Can I access the active version on SAP Cloud Platform of HTML5 apps through a api?

I need to access the active version on SAP Cloud Platform of HTML5 apps through an api.
I know for the java apps you have the lifecycle api: doc
But you can't access HTML5 information with this API.
What I found is this service: https://account.hana.ondemand.com/ajax/getHtml5AppDetails/{subaccountName}/{appName}
This will return a JSON string with the required info, but I'm not authorized to access this page, although I have all the possible admin rights.
So I'm wondering If any of you has any idea to solve my issue, and other people's issues.
Well, we needed something similar and used this kinda hack to get the active versions via WebIde Api (need basic Auth to login) replace XXXX with your account
https://webide-XXXX.dispatcher.hana.ondemand.com/api/html5api/accounts/XXXXX/applications
You get back a json array with all your applications of that sub account, including active version and other interesting information
Hope it helps ;))
Regards Mathias
You could create a HTTP Proxy Servlet based on https://github.com/SAP/cloud-connectivityproxy that provides read only access to https://dispatcher.hanatrial.ondemand.com/hcproxy/b/api/accounts/<subaccount>/applications/<app> for your app.

facebook, twitter, youtube app creation and api integration help required... just a small answer required

I am working on PHP application which will be shipped to many users for their own.
App needs to integrate
Facebook api for auto post their web articles to their fb profile/page.
Twitter api for same purpose as above and to search for tweets/users.
Youtube api to upload videos to their user account.
I already have completed the software, Right now software has api settings menu for each of them. Where user create their own app on respective platform and setup app id/secrets etc... IT works fine...
But I am looking for a way where, we use our own app codes, and user only has to click on button which redirect them to their platform and they can allow access to our app. So they dont have to go through their own app creation.
Just like how login with social media things work...
I know thats possible and my question is not about how to do this...
My question is about IF I do that, will that create any App usage limitation issues for users ? For example, if I create my own Youtube app settings from http://console.developers.google.com/ and all users just authorise my app to their account, will it create any issues if all users (may be 2000 users) uploads upto 5 videos per day ? Will the usage limit counted per application or per user access assigned ?
I need the answer for facebook/twitter and youtube. I know some one how has already done this can answer this quickly and easily...
Thanks for reading my question...

How to share from iphone app to any windows phone 7 app?

Let's say I have app on iPhone and Windows Phone 7. How to share (ex. Note) between my both apps, regardless any platform.
Update
Guess this question is very broad, my bad.
Be more specific, I want the user to go through his contact list and share through my app. How do I identify if the other user installed my app? and what platform he/she using?
Using the contact list isn't a good way to "share" in this regard.
You're asking two questions here:
How to build a system to share data between two mobile clients, irrespective of platform?
How to best enable users to find their friends to share data?
Let's start with the 2nd question.
I would leverage services like Twitter and Facebook and have your app connect with your users facebook account. This is a well known approach, and avoids having to roll your own account system.
With facebook as an example:
Facebook connect, you can get the facebookID of your user, as well as their friends facebookID. You'll need a backend webservice which you can query users by fbID.
When a user opts to use their facebook account, store their FacebookID on your backend service. Then using facebook's api's get a list of their friends facebookID's. Your app will lookup each ID using your backend service, and if it finds one, then you know that friend has also installed the app, and connected it to facebook.
So if Alice installed your app, connects to facebook, and she is friends with Bob, who also has installed your app, your back end service would return that Bob's facebookID is known to your app, and thus the two of them can share to each other using some protocol that you design.
If their friend's ID isn't known to your system, I would send them a facebook message, or post on thier wall with a restful link that invites them to check out the note you want to share on the web, and place the link to the app on the same page.
Due to the high level of your question, this answer is a bit of a 20,000ft view, and assumes you know how to build a web service.
If you want to see a great example of an app that makes use Facebook and or Twitter to find friends who also use the same app, I recommend checking out Groupme. It's free, and available for WP7, iPhone, and Android. It's a group SMS app, and uses your contact list, facebook, and twitter, to setup friends.
For the first question, you'll need to make use of a backend webservice. User would elect to share either in-app, or by posting to their facebook, with a weblink. In-app sharing, I would use an inbox approach. A user posts a message to their friend, and it gets stored in a queue. The app periodically checks the users queue to see if any new "shares" have been posted. If so, get that data, and present it to the user. Your back end service should also take advantage of newer app concepts like push notifications, because thats what users expect.
I would suggest using a web service such as Parse. This will allow you to focus on your app development and not worry about server coding.
Currently they do not have a Windows Phone 7 SDK but it is just a matter of making the REST requests manually to the service.