sinamics/ztnet

[Feature Request]: Entra ID OAuth support

alemonmk opened this issue ยท 0 comments

๐Ÿš€ Feature Summary

To provide Entra ID OAuth login support.

๐Ÿ“ Detailed Description

Adding Entra ID OAuth login is trivial as add a few fields to schema of Account, then add provider which is already implemented by NextAuth.js.

๐ŸŽฏ Use Case

Current generic OAuth provider and Account schema does not allow user login form Entra ID because of extra fields supplied.

prisma:error 
Invalid `prisma.account.create()` invocation:

{
  data: {
    provider: "oauth",
    type: "oauth",
    providerAccountId: "RVQ...",
    token_type: "Bearer",
    scope: "email openid profile",
    expires_at: 1722870710,
    ext_expires_in: 3991,
    ~~~~~~~~~~~~~~
    access_token: "eyJ0eXAiO...",
    id_token: "eyJ0eXAiO...",
    session_state: "30xxxxxx-deff-xxxx-96fb-9xxxxxxxae32",
    userId: "clzh...",
?   id?: String,
?   refresh_token?: String | Null,
?   refresh_expires_in?: Int | Null
  }
}

Unknown argument `ext_expires_in`. Available options are marked with ?.

Fortunately(?), all three examples provided in documentation are for providers that does not require or schema already have such extra fields.

๐Ÿ’ก Willing to Contribute

No, I can only suggest the feature but cannot help in development or testing