5.3.4 • Published 3 days ago

@authing/guard-react v5.3.4

Weekly downloads
-
License
MIT
Repository
-
Last release
3 days ago

React-Guard is a portable authentication component provided by authing. You can embed it in any application to handle complex user authentication processes in one stop.

Prepare your React project and follow the guide to connect authoring guard to your React project!

Install

From CDN:

From npm:

Initialize

KeyTypeDefaultRequires
appIdString-Y
modenormal / modalnormalN
defaultSceneGuardModuleTypeloginN
langzh-CN / en-USzh-CNN
isSSOBooleantrueN
hostString-N
scopeString-N
redirectUriString-N
stateString-N
import { ReactGuard, useAuthing } from '@authing/react-guard'

const root = createRoot(document.getElementById('root'))

root.render(
  <ReactGuard
    // appId:控制台 -> 端点信息 -> App ID
    appId="APP_ID"
    // appHost:应用认证地址,控制台 -> 应用详情 -> 认证配置 -> 认证地址
    appHost="https://spa-demo-2022.authing.cn"
    // redirectUri:应用回调地址,在 Authing 完成认证后跳回的地址。控制台 -> 应用详情 -> 认证配置 -> 登录回调 URL
    redirectUri="通过 Authing 登录成功后的跳转地址"
    // 默认
    tokenEndPointAuthMethod="none"
    // 默认
    introspectionEndPointAuthMethod="none"
    config={{
      target: '#guard'
    }}
  >
    <App />
  </ReactGuard>
)
import React from 'react'
import { useAuthing } from '@authing/react-guard'

const Component = () => {
  const guard = useAuthing()

  useEffect(() => {
    guard.start()
  }, [])

  return <div id="guard">Hello Guard !</div>
}

Guard provides three login modes

Embed mode

Render Guard component

import React from 'react'
import { useAuthing } from '@authing/react-guard'

const Component = () => {
  const guard = useAuthing()

  useEffect(() => {
    guard.start()
  }, [])

  return <div id="guard">Hello Guard !</div>
}

modal mode

When the parameter 'mode' of Guard instantiation is' modal ', the modal mode is started, and the following API can be used to display and hide the guard.

import React from 'react'
import { useAuthing } from '@authing/react-guard'

const Component = () => {
  const guard = useAuthing()

  useEffect(() => {
    guard.show()
  }, [])

  return <div id="guard">Hello Guard !</div>
}

Redirect mode

Login by code, redirect to login page

import React from 'react'
import { useAuthing } from '@authing/react-guard'

const Component = () => {
  const guard = useAuthing()

  useEffect(() => {
    guard.startWithRedirect()
  }, [])

  return <div id="guard">Hello Guard !</div>
}

Auto handle redirect callback

import React from 'react'
import { useAuthing } from '@authing/react-guard'

const Component = () => {
  const guard = useAuthing()

  useEffect(() => {
    guard.handleRedirectCallback()
  }, [])

  return <div id="guard">Hello Guard !</div>
}

Logout

import React from 'react'
import { useAuthing } from '@authing/react-guard'

const Component = () => {
  const guard = useAuthing()

  useEffect(() => {
    guard.start()
  }, [])

  return (
    <>
      <div id="guard">Hello Guard !</div>
      <button onClick={() => guard.logout()}>logout</button>
    </>
  )
}

Regist events

import React from 'react'
import { useAuthing } from '@authing/react-guard'

const Component = () => {
  const guard = useAuthing()

  guard.on('load', e => {
    console.log(e)
  })

  guard.on('login', userInfo => {
    console.log(userInfo)
  })

  useEffect(() => {
    guard.start()
  }, [])

  return (
    <>
      <div id="guard">Hello Guard !</div>
    </>
  )
}
// ......

Integrate authing js sdk instance

Guard integrated AuthenticationClient, so you can use guard.authClient to access all apis of AuthenticationClient, etc:

guard.authClient.registerByEmail()
guard.authClient.validateToken()
// ....

Refer to Authentication SDK

📚 Documentation

To check out live examples and docs, visit docs

5.3.5-alpha.2

3 days ago

5.3.5-alpha.1

3 days ago

5.3.4

2 months ago

5.3.3

4 months ago

5.3.3-alpha.4

4 months ago

5.3.3-alpha.3

5 months ago

5.3.3-alpha.2

5 months ago

5.3.3-alpha.1

6 months ago

5.3.2

6 months ago

5.3.2-alpha.0

6 months ago

5.3.2-alpha.1

6 months ago

5.3.3-alpha.0

6 months ago

5.3.1

7 months ago

5.3.0

8 months ago

5.3.0-alpha.6

9 months ago

5.3.0-alpha.5

9 months ago

5.3.0-alpha.8

8 months ago

5.3.0-alpha.7

9 months ago

5.2.2-alpha.0

10 months ago

5.3.1-alpha.0

7 months ago

5.2.1-alpha.0

10 months ago

5.2.4-alpha.0

10 months ago

5.2.4-alpha.1

10 months ago

5.2.4

10 months ago

5.2.3

10 months ago

5.2.2

10 months ago

5.2.1

10 months ago

5.2.3-alpha.0

10 months ago

5.3.0-alpha.4

11 months ago

5.3.0-alpha.0

11 months ago

5.3.0-alpha.2

11 months ago

5.3.0-alpha.3

11 months ago

5.2.0

11 months ago

5.2.0-alpha.0

11 months ago

6.0.0-alpha.13

11 months ago

6.0.0-alpha.14

11 months ago

6.0.0-alpha.15

11 months ago

6.0.0-alpha.16

11 months ago

6.0.0-alpha.17

11 months ago

6.0.0-alpha.18

11 months ago

6.0.0-alpha.7

1 year ago

6.0.0-alpha.8

1 year ago

6.0.0-alpha.9

1 year ago

5.1.9-alpha.0

1 year ago

5.1.9-alpha.1

1 year ago

5.1.9-alpha.2

1 year ago

5.1.9

1 year ago

5.1.8

1 year ago

6.0.0-alpha.10

1 year ago

6.0.0-alpha.11

1 year ago

6.0.0-alpha.12

1 year ago

5.1.11

12 months ago

5.1.10

12 months ago

6.0.0-alpha.5

1 year ago

6.0.0-alpha.6

1 year ago

6.0.0-alpha.3

1 year ago

6.0.0-alpha.4

1 year ago

5.1.5-alpha.0

1 year ago

5.1.5-alpha.1

1 year ago

6.0.0-alpha.0

1 year ago

6.0.0-alpha.1

1 year ago

6.0.0-alpha.2

1 year ago

5.1.6-alpha.1

1 year ago

5.1.6-alpha.2

1 year ago

5.1.6-alpha.0

1 year ago

5.1.3-alpha.20

1 year ago

5.1.3-alpha.21

1 year ago

5.1.3-alpha.18

1 year ago

5.1.3-alpha.19

1 year ago

5.1.3-alpha.22

1 year ago

5.1.3-alpha.23

1 year ago

5.1.3-alpha.24

1 year ago

5.1.3-alpha.25

1 year ago

5.1.3-alpha.26

1 year ago

5.1.7

1 year ago

5.1.6

1 year ago

5.1.5

1 year ago

5.1.4

1 year ago

5.1.3

1 year ago

5.1.7-alpha.3

1 year ago

5.1.7-alpha.2

1 year ago

5.1.7-alpha.1

1 year ago

5.1.7-alpha.0

1 year ago

5.1.4-alpha.0

1 year ago

5.1.4-alpha.2

1 year ago

5.1.4-alpha.1

1 year ago

5.1.3-alpha.11

1 year ago

5.1.3-alpha.12

1 year ago

5.1.3-alpha.13

1 year ago

5.1.3-alpha.14

1 year ago

5.1.3-alpha.15

1 year ago

5.1.3-alpha.16

1 year ago

5.1.3-alpha.17

1 year ago

5.1.3-alpha.10

1 year ago

5.1.3-alpha.5

1 year ago

5.1.3-alpha.7

1 year ago

5.1.3-alpha.6

1 year ago

5.1.3-alpha.9

1 year ago

5.1.3-alpha.8

1 year ago

5.1.2

1 year ago

5.1.1

1 year ago

5.1.0

2 years ago

5.0.5-alpha.18

2 years ago

5.0.5-alpha.19

2 years ago

5.0.5-alpha.16

2 years ago

5.0.5-alpha.17

2 years ago

5.0.5-alpha.14

2 years ago

5.0.5-alpha.15

2 years ago

5.0.5-alpha.12

2 years ago

5.0.5-alpha.13

2 years ago

5.0.5-alpha.21

2 years ago

5.0.5-alpha.22

2 years ago

5.0.5-alpha.20

2 years ago

5.1.1-alpha.0

1 year ago

5.1.1-alpha.1

1 year ago

5.0.7-alpha.0

2 years ago

5.0.8-alpha.10

2 years ago

5.0.8-alpha.13

2 years ago

5.0.8-alpha.14

2 years ago

5.0.8-alpha.11

2 years ago

5.0.8-alpha.12

2 years ago

5.1.3-alpha.0

1 year ago

5.0.5-alpha.11

2 years ago

5.1.3-alpha.4

1 year ago

5.0.7

2 years ago

5.0.6

2 years ago

5.0.5

2 years ago

5.0.8-alpha.15

2 years ago

5.1.0-alpha.0

2 years ago

5.0.8-alpha.0

2 years ago

5.0.8-alpha.1

2 years ago

5.0.8-alpha.2

2 years ago

5.0.8-alpha.3

2 years ago

5.0.8-alpha.4

2 years ago

5.0.5-alpha.29

2 years ago

5.0.8-alpha.5

2 years ago

5.1.2-alpha.0

1 year ago

5.0.8-alpha.6

2 years ago

5.0.6-alpha.0

2 years ago

5.0.5-alpha.27

2 years ago

5.0.8-alpha.7

2 years ago

5.0.5-alpha.28

2 years ago

5.0.8-alpha.8

2 years ago

5.0.5-alpha.25

2 years ago

5.0.8-alpha.9

2 years ago

5.0.5-alpha.26

2 years ago

5.0.5-alpha.23

2 years ago

5.0.5-alpha.24

2 years ago

5.0.5-alpha.30

2 years ago

5.0.5-alpha.31

2 years ago

5.0.4

2 years ago

5.0.4-alpha.0

2 years ago

5.0.4-alpha.3

2 years ago

5.0.4-alpha.5

2 years ago

5.0.4-alpha.4

2 years ago

5.0.5-alpha.8

2 years ago

5.0.5-alpha.7

2 years ago

5.0.5-alpha.9

2 years ago

5.0.5-alpha.4

2 years ago

5.0.5-alpha.3

2 years ago

5.0.5-alpha.6

2 years ago

5.0.5-alpha.5

2 years ago

5.0.5-alpha.2

2 years ago

5.0.5-alpha.1

2 years ago

5.0.5-alpha.10

2 years ago

5.0.3

2 years ago

5.0.2

2 years ago

5.0.1

2 years ago

5.0.0

2 years ago

5.0.0-alpha.19

2 years ago

5.0.0-alpha.18

2 years ago

5.0.0-alpha.17

2 years ago

5.0.0-alpha.16

2 years ago

5.0.0-alpha.15

2 years ago

5.0.0-alpha.14

2 years ago

5.0.0-alpha.13

2 years ago

5.0.0-alpha.12

2 years ago

5.0.0-alpha.11

2 years ago

5.0.0-alpha.10

2 years ago

5.0.0-alpha.9

2 years ago

5.0.0-alpha.8

2 years ago

5.0.0-alpha.7

2 years ago

5.0.0-alpha.6

2 years ago