AngusParsonson
03/25/2024, 11:44 AMAngusParsonson
03/25/2024, 11:45 AMAngusParsonson
03/25/2024, 11:50 AMAngusParsonson
03/25/2024, 12:03 PMAngusParsonson
03/25/2024, 12:10 PMAngusParsonson
03/25/2024, 12:30 PMrp_st
03/25/2024, 12:33 PMrp_st
03/25/2024, 12:33 PMAngusParsonson
03/25/2024, 12:37 PMAngusParsonson
03/25/2024, 12:37 PMrp_st
03/25/2024, 12:38 PMAngusParsonson
03/25/2024, 12:38 PMrp_st
03/25/2024, 12:38 PMAngusParsonson
03/25/2024, 12:38 PMAngusParsonson
03/25/2024, 12:38 PMrp_st
03/25/2024, 12:38 PMrp_st
03/25/2024, 12:38 PMAngusParsonson
03/25/2024, 12:39 PMrp_st
03/25/2024, 12:39 PMAngusParsonson
03/25/2024, 12:39 PMrp_st
03/25/2024, 12:39 PMrp_st
03/25/2024, 12:40 PMAngusParsonson
03/25/2024, 12:40 PMAngusParsonson
03/25/2024, 12:40 PMrp_st
03/25/2024, 12:40 PMrp_st
03/25/2024, 12:41 PMrp_st
03/25/2024, 12:41 PMrp_st
03/25/2024, 12:41 PMAngusParsonson
03/25/2024, 12:42 PMrp_st
03/25/2024, 12:42 PMrp_st
03/25/2024, 12:42 PMrp_st
03/25/2024, 12:42 PMAngusParsonson
03/25/2024, 12:45 PMrp_st
03/25/2024, 12:46 PMAngusParsonson
03/25/2024, 12:48 PMAngusParsonson
03/25/2024, 12:48 PMrp_st
03/25/2024, 12:49 PMAngusParsonson
03/25/2024, 12:51 PMAngusParsonson
03/25/2024, 12:51 PMrp_st
03/25/2024, 12:52 PMrp_st
03/25/2024, 12:52 PMrp_st
03/25/2024, 12:52 PMAngusParsonson
03/25/2024, 12:54 PMrp_st
03/25/2024, 12:54 PMrp_st
03/25/2024, 12:54 PMrp_st
03/25/2024, 12:55 PMrp_st
03/25/2024, 12:55 PMAngusParsonson
03/25/2024, 12:55 PMAngusParsonson
03/25/2024, 1:06 PMrp_st
03/25/2024, 1:08 PMAngusParsonson
03/25/2024, 1:40 PMrp_st
03/25/2024, 2:19 PMAngusParsonson
03/25/2024, 2:28 PMrp_st
03/25/2024, 2:28 PMAngusParsonson
03/25/2024, 2:28 PMAngusParsonson
03/25/2024, 3:51 PMrp_st
03/25/2024, 4:45 PMAngusParsonson
03/25/2024, 4:52 PMrp_st
03/25/2024, 5:41 PMAngusParsonson
03/25/2024, 5:49 PMrp_st
03/25/2024, 5:50 PMAngusParsonson
03/25/2024, 5:51 PMrp_st
03/25/2024, 5:52 PMAngusParsonson
03/25/2024, 5:52 PMrp_st
03/26/2024, 7:06 AMProviderInput(
config=ProviderConfig(
third_party_id="microsoft-login",
name="Microsoft Login",
clients=[
ProviderClientConfig(
client_id="...",
client_secret="...",
scope=["email", "profile", "openid"],
),
],
authorization_endpoint="https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize",
token_endpoint="https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token",
user_info_endpoint="https://login.microsoftonline.com/oidc/userinfo",
user_info_map=UserInfoMap(
from_user_info_api=UserFields(
user_id="sub",
email="email",
email_verified=None,
),
),
),
override=get_custom_provider
),
The definition of get_custom_provider
is:
def get_custom_provider(provider: Provider) -> Provider:
original = provider.get_user_info
async def custom_get_user_info(self, oauth_tokens: Dict[str, Any], user_context: Dict[str, Any]) -> UserInfo:
user_info = await original(oauth_tokens, user_context)
user_info.email.is_verified = True
return user_info
provider.get_user_info = custom_get_user_info
return provider
rp_st
03/26/2024, 7:07 AMrp_st
03/26/2024, 7:25 AMAngusParsonson
03/26/2024, 11:08 AM