MSAL/ADAL C++ equivalent to get access tokens - azure

Is there a MSAL/ADAL equivalent for C++ ? I would like to natively support getting access tokens for Azure in C++ (rather than build a bridge of some kind by using python version.)
Thank you

I am the current contact at Microsoft for both MSAL or ADAL C++.
Microsoft has MSAL C++ in development and it will eventually be open source. Its code is used in major products made my Microsoft.
ADAL C++ is not released externally and is not open source.
Our guidance is to interop with Python or .NET at this time.

There actually is a C++ ADAL SDK, Microsoft releases it to partners and uses it internally.
It is not generally available, but if your company has a liaison with Microsoft, you can ask for it.

Related

Target .NET Core 2.0 with Azure Functions in Visual Studio 2017

Since Microsoft has released .NET Core 2.0 for Azure Functions a few days ago, I'm trying to understand how to create a new Functions project in VS2017 targeting .NET Core.
I've tried many configurations and still ended up with .NET 4.7.
Did anyone manage to create a new Function targeting .NET Core?
Thanks.
This is supported with the 1.0.5 release of the Microsoft.NET.Sdk.Functions package.
In your Azure Functions Project, do the following:
Update the Microsoft.NET.Sdk.Functions package version to 1.0.5
Right click on your project, click the Edit <projectname>.csproj option and modify the TargetFramework element value to netstandard2.0
This will should generate .NET Standard 2.0 assemblies with all the artifacts created by the Azure Functions tooling.
As of today I have been able to target .Net Standard 2.0 in a "reasonably" intuitive way and without editing any .csproj files.
You need a reasonably recent version of Visual Studio. I'm using Visual Studio Professional 15.5.3 (although I would guess that community would work).
You need to have the Azure development workload installed. This will install an extension called Azure Functions and Web Jobs Tools.
So far so plain vanilla. There were 2 additional bits that were to me not at all intuitive but ended up being very easy to do - easy when you know how!
You need to make sure that the Azure Functions and Web Jobs Tool is 15.0.31114.0 or greater - that's when they added .net core 2.0 support (see https://github.com/Azure/Azure-Functions/blob/master/VS-AzureTools-ReleaseNotes.md). You can update this using Tools/Extensions and Updates, or see https://marketplace.visualstudio.com/items?itemName=VisualStudioWebandAzureTools.AzureFunctionsandWebJobsTools
Even when you've done that, Visual Studio is a tiny bit weird about letting you create Azure Functions that target .net 2.0. When you go File/New Project, nothing has changed in the list of available project types, and if you select Azure Functions, the list of Frameworks just shows .NET Framework *, no .NET Standard, no .NET Core.
But if at this point you persevere and select Azure Functions, you then get a new dialog I hadn't seen before, which allows you to select Azure Functions v2 Preview (.NET Core).
Now, when I then look at the project properties, it turns out it is targeting .NET Standard 2.0, which in turn seems to contain Microsfot.NETCore.Platforms (1.1.0). So is this .net core 2.0 or not? Not quite sure but its' good enough for my purposes so now going to tuck into some coding.
Cheers!
For now, it's a manual process. You need to create .NET Standard 2.0 library, add function.json manually and run it with core tools.
the package Microsoft.NET.Sdk.Functions does not yet support .NET Standard 2.0 class libraries. This is the package that identifies a project as Functions project to Visual Studio and generates function.json from attributes during build.
You can still author C# class libraries that target .NET Standard 2.0, but you must use a manually-authored function.json. The templates for C# class libraries aren’t yet available in the Core Tools, but you can get a sample from GitHub.
from Develop Azure Functions on any platform
Update: 1.0.5 version of SDK should now support it, as mentioned by Fabio.

Is SignalR a Microsoft only technology?

Can SignalR send messages to a Borland C++ client and if so what is the oldest version of Borland C++ (ver 6/ ver 7)? How would a Borland C++ client receive a SignalR message if it is possible? If not what send technology would be best with Borland C++ as the client and C# .NET as the pusher?
It looks like there is a C++ client, but it's not actively maintained, so you might have to customize a lot of the code to make it work for you.
It might be possible to use node.js/socket.io with edge.js but it's probably not very straightforward.
I'd take a look at things like ZeroMQ or RabbitMQ.
I am searching for the same info but in a wider context. I m rather interested to know, if there exists a way using SignalR from a plain C++ in general without managed extensions. Compiler as such does not matter for me. I plan using MS Visual Studio 2005 or above.
Originally, I was sure that technology is fully .NET related. To my surprise, I have discovered C++ client wrapper on official ASP.NET source repository.
https://github.com/aspnet/SignalR-Client-Cpp
The code is for VS 2013. After a short review of code, I see no use of managed extensions or Microsoft specific coding. It looks that the code should be portable with very limited effort. I will try building it now with VS 2005 and will update this comment on results afterwards.
As of the date of writing, last commit into repository is only 15 days old. So it looks like the code is actively maintained and developed.

Xamarin licensing issue (can I use specific component)

I saw this SO question asking for a PDF viewer for MonoTouch, which is just what I need. First I tried the Xamarin code sample suggested by poupou, but this needs a lot of extra work to use. So I decided to try the mTouch-PDFViewer suggested by Alex.
So I went to the download page and on to the GitHub for this component and cloned the repository. The problem is that the Visual Studio solution opens with a message saying I need a different license for Xamarin than I have. I only have a Xamarin Indie license and am therefore not able to build this library.
Is there a way around this? If I copied all the code into the Xamarin Studio, would it work then or can't I use this component at all due to licensing problems? Will it work in the app as long as I get hold of the dll file or do I need the more expensive license?
I have sent an email to the support email address for the mTouch-PDFViewer asking if the dll is available somewhere, but I was wondering in general if the licensing limits the use of dlls or just the ability to compile the code.
Indie license does not have Visual Studio support. An Indie license requires you to use Xamarin Studio on a Mac. There should not be any restrictions on using specific components.
Also, for basic PDF viewing, iOS has excellent built in support, which you might try before using a 3rd party component.

Can I use the .NET Google GData client in a MonoTouch or MonoDroid app?

Is it possible to reference a library such as the Google GData .NET client in a MonoTouch or MonoDroid app? It would make integration with Google's services much easier.
Thank you.
To get that library (or any library, really) to work against MonoTouch or Mono for Android you'd need to compile it against that profile. Out of the box the GData client won't compile against those profiles because it has some dependencies that aren't compatible. There's a post up here by Mike Bluestein that talks about getting it working with MonoTouch. The same approach should also apply to Mono for Android.

Delphi and Microsoft ATL security issue

My impression is that standard Delphi uses the Win32 API.
Recently Microsoft has been communicating a problem regarding ATL that requires application developers to rebuild ATL-using applications after installing an update on their machines.
Will this practice be the general case also for Delphi developers, or are they in the clear with the exception of Delphi code using third party ATL COM objects?
Sources:
Microsoft Security: Protect your computer from the Active Template Library (ATL) security vulnerability
MSDN VC++ DevCenter: Active Template Library Security Update for Developers
Microsoft Security Advisory (973882): Vulnerabilities in Microsoft Active Template Library (ATL) Could Allow Remote Code Execution
Microsoft Security Bulletin MS09-034 - Critical: Cumulative Security Update for Internet Explorer (972260)
Microsoft Security Bulletin MS09-035 - Moderate: Vulnerabilities in Visual Studio Active Template Library Could Allow Remote Code Execution (969706)
The ATL is a template library for C++ code, and so it has nothing to do with Delphi. If you're using 3rd party ATL COM objects, then yes, those will have to be rebuilt, but your Object Pascal code is safe.
This was mostly caused by unsafe string handling routings in ATL - thankfully string handling in Delphi is completely different and separate. No need to worry.

Resources