SharePoint Online back-end for a mobile application, with guest users - api

I would like to use SharePoint Online as a back-end for a new mobile application.
Need
Mobile application with a lot of users, SharePoint back-end. Without needing to have a licence for each user.
Setup idea
SharePoint Online with 5 licenced users, that can access SharePoint itself
Mobile application with <10.000 users, all included in SharePoint/AD as guest users.
The mobile application gets/posts everything via SharePoint API's & O365 Graph API's
Fears
Can guest users get access via SharePoint API's & O365 Graph
Limitation on # of guest users?
API call limitation/throtteling (how soon? / Can this be bought off?)
Are these fears actually an issue? And if so, can you help me to bypass my fears :) ?
Thanks in advance.
Wouter
Research done:
Limitation of calls/user
https://support.office.com/en-us/article/capacity-planning-and-load-testing-sharepoint-online-c932bd9b-fb9a-47ab-a330-6979d03688c0
https://learn.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online
Can guests users use API's?
https://blog.kloud.com.au/2017/08/10/sharepoint-online-external-user-access-error-user-not-in-directory/

Related

Using Google Sheets in Saas Application

In our SAAS application, we decided to use Google Sheets API, to generate docs and to give permission for editing documents online in Google Docs web and mobile application.
Here, do we need all of our customers have to be Google Accounts? Is there a better way to create users at the backend of our customers to connect directly from our app?
Unless you're using a service account (which isn't ideal for scaling apps), you ought to use google login, which requires a google account.

Personal OneDrive, OneDrive for Businesses and LiveSDK

I have developed a Windows Phone 8 app using the LiveSDK API to access files in OneDrive. It works fine using the personal OneDrive. Now my customer have installed OneDrive for Businesses and cannot log in. Do I have to use another API to reach OneDrive for Businesses? If so, is this API available for Windows Phone 8?
The LiveSDK does not support logging into OneDrive for business accounts. Microsoft does not yet have a public SDK for windows phone that will allow for interaction with OneDrive consumer and OneDrive for business services.
To access OneDrive for Business, you can use Office 365 APIs here: https://msdn.microsoft.com/en-us/office/office365/api/files-rest-operations
You will have to create and Office 365 developer account, and set up and Azure Active Directory tenant.
OneDrive for Business uses a different API than the Live SDK.
Hope this helps!

how to create multitenant app for office 365 in windows azure AD

I need an application on Office 365 which authenticate user of my Active Directory as well as other Active Directory.
Example.
My Domain is "Sample.com"
I've added Office 365 Tenant to my AD.
Created the application manually.
All users Like "Mike#sample.com","Harry#sample.com"
are authenticated using my created application on AD.
But if i insert any other Office365 ID Like "kumar#mysite.onmicrosoft.com" with there password.
It is showing the following error message...
"Application with identifier xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx was not found in the directory enukesoftware.onmicrosoft.com"
Please help i need to authenticate and connect different organizations users and need to perform Calendar Operations.
Thanks in Advance.
Shekhar,
It looks like you might have solved the problem by making your application multi-tenant, thus allowing users in other Azure AD tenants to consent to your application. I would strongly recommend that you look at this github code samples (over the ones previously suggested):
https://github.com/AzureADSamples/WebApp-MultiTenant-OpenIdConnect-DotNet for sign in and
https://github.com/OfficeDev/O365-WebApp-MultiTenant for sign in and access to Office365 APIs. This is a multi tenant app that queries the user's contacts. If you want to look at other calls to Office 365 APIs (like calendaring) then this single tenant app has some examples: https://github.com/OfficeDev/Office-365-APIs-Starter-Project-for-Windows
Hope this helps

Office365 - Application authentication with no user consent

We've been working with EWS Managed services for a while now, however we would like to transition over to using the RESTful API for Office 365.
Is it possible for an application to access all of our users data without their consent? We have an in-house application that we would like to get some O365/Sharepoint data to our users. Using SSO isn't really an option, as we don't want to keep asking our users to give consent (we assume they already give it). Specifically, we want access to calendars and mail.
Are these "service/application level" accounts available in O365 yet? I think I read a while ago that they are on the roadmap but I have not seen anything since.
Would it be best for us to continue using impersonation with EWS for now until it is ready? (For some reason, EWS is painfully slow when getting data, meanwhile our tests with O365 SSO are a great deal faster, but we do not want SSO).
Apologies if this does not meet the requirements for SA questions. Thanks.
EDIT. Daemon and Service Apps are now possible with Office365. Check out this link.
Building Daemon or Service Apps with Office 365 Mail, Calendar, and Contacts APIs (OAuth2 client credential flow)
App-level authentication is coming soon. Basically an organization administrator will have to consent to allow the application access to mailboxes in their organization, then you'll be able to authenticate as the app, rather than acting on individual users' behalf.
I'd say keep working on your prototype using the user consent model that's in place now, and keep an eye on our blog or my Twitter account (#JasonJohMSFT) for the announcement for app-level auth.

Is there a standard for using credentials from one web app to automatically log in to a partner app?

I am developing a web app that will be working with other companies web apps. Part of the desired user experience is that users on our web application will be able to log into our app, and be able to visit our parters' web applications. Accounts will be automatically created for the users on our partners' sites. We'd like them to be able to enter the partner sites already authenticated, without having to log in or authorize anything (like with OpenID or OAuth), similar to the relationship between a bank and a credit card rewards program. Is there an existing standard that covers this?
Single Sign On often used for such functionality.
There are a lot of implementations.
I used in production Jasig CAS