swelham

swelham

Ueberauth strategy for MS Graph API

Does anyone know of an implementation for ueberauth that provides a strategy for logging in with outlook.com and office 365 accounts (Azure AD v2.0 endpoint)?

Most Liked

swelham

swelham

For anyone interested, I have just published ueberauth_microsoft to hex and the code for it can be found here.

swelham

swelham

I have started one now, I’m just getting a strange issue where the get_token! function keeps returning a :closed error. Could be something to do with proxy server I am sat behind though! I managed to get past the error but ended up with a timeout issue where the MS login page seemed to just hang and not return a response.

I’m going to try it out when I get home where I’m not be held to ransom by a proxy server.

voltone

voltone

The :closed error is probably due to a TLS incompatibility between Erlang (18.3.2 and later) and Microsoft servers with modern (SHA256) certificates. The issue has come up in various places over the last year or so, and I just happened to blog about it earlier today: https://blog.voltone.net/post/9 (last section).

TL;DR: you will have to force the connection to use TLS v1.2. The way to do this depends a bit on the TLS/HTTPS client you’re using and the way it wraps Erlang’s :ssl options, but if you’re using the OAuth2 library, this post should help.

swelham

swelham

:thumbsup:

It’s now working perfectly!

I owe you for that one, it would have taken me ages to figure that out. I have a node project running that is making the same requests and is working fine which was causing me some confusion.

Thanks again!

leifericf

leifericf

I’ve been trying to figure this out today, and stumbled upon this thread.

Thanks for creating this ueberauth strategy, @swelham. It seems to be just what I need.

If I may make a suggestion: It could be a good idea to add the keywords “Azure Active Directory” and “Azure AD” to your GitHub repository, so that it is more searchable and thus easier to find.

Related thread:

Cheers! :slightly_smiling_face:

Where Next?

Popular in Questions Top

bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
makeitrein
Hey all, just started picking up Elixir last week and am writing a scraper as a learning project. Baby step #1 is extracting the number ...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
qwerescape
Is there a way to get the call stack or stack trace at any point in the code? Not from exceptions, but an expression that returns how the...
New
Exadra37
Sometimes I want to check if the input into a function is not a blank string. My first approach: defmodule Example do def do_stuff(s...
New
beno
I will often find my self writing things similar to: case some_value do nil -> something() "" -> something() _ -> someth...
New
sabri
Can someone explain the settings of pool_size of Ecto in config file? and what is the recommend size? Thanks
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New

Other popular topics Top

JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
mgjohns61585
Could someone help me? I'm making my first elixir program, number guessing game. I can't figure out how to convert the user's guess from ...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
qwerescape
Is there a way to get the call stack or stack trace at any point in the code? Not from exceptions, but an expression that returns how the...
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New

We're in Beta

About us Mission Statement