Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
@eduzz/accounts-react-wrapper
Advanced tools
Readme
SDK para fazer integração de aplicações react com o accounts, sistema de autenticação único da Eduzz. Seu escopo é autenticação, e não autorização.
<script
rel="preconnect"
src="https://cdn.eduzzcdn.com/accounts/accounts.js"
></script>
yarn add @eduzz/accounts-react-wrapper
yarn add lib1@^1.20.1 lib2@^0.23.0 lib3@^2.0.2
// Nome de arquivo sugerido: accounts.config.ts
// Exemplo:
import {
AuthProviderConfig,
authentication,
} from '@eduzz/accounts-react-wrapper';
const config: AuthProviderConfig = {
accounts: {
partnerId: 'itj90bnlrg0394fnvrg8903lsdgn',
env: 'homolog',
},
api: {
url: 'http://localhost:5000',
login: {
request: {
path: '/auth/login',
tokenKey: 'accountToken',
params: {
key: 'value',
},
},
response: {
tokenKey: 'bearerToken',
refreshTokenKey: 'refreshToken',
mapData: 'data',
},
},
refresh: {
request: {
path: '/auth/refreshtoken',
refreshTokenKey: 'refreshToken',
params: {
key: 'value',
},
},
response: {
tokenKey: 'bearerToken',
refreshTokenKey: 'refreshToken',
mapData: 'data',
},
},
},
backOffice: {
urlParam: 'accounts_login_token',
},
authentication,
};
/*
Configuração dos endpoints de login e refresh token.
1. Login
1.1 Request
- path: Path do endpoint de login;
- tokenKey: Nome da propriedade de token retornada pelo script accounts esperada pelo backend;
- params(opcional): Quaisquer outros parâmetros necessários.
1.2 Response
Definição do nome das propriedades de token e refresh token retornadas no endpoint de login.
- mapData(opcional): string do path que contém as respostas da api. ex: data.dados
2. Refresh
2.1 Request
- path: Path do endpoint de refresh token;
- refreshTokenKey: Nome da propriedade de refresh token esperada pelo o backend;
- params(opcional): Quaisquer outros parâmetros necessários.
2.2 Response
Definição do nome das propriedades de token e refresh token retornadas no endpoint de refresh token.
- mapData(opcional): string do path que contém as respostas da api. ex: data.dados
Configuração do Back Office
Configurar o query param de login via Back Office para que o SDK identifique o login como suporte, não faça o refresh do token e siga o fluxo de autenticação a partir de login no accounts.
A definição dessa parâmetro está no projeto backoffice.
No exemplo de configuração abaixo o SDK espera o parâmetro accounts_login_token na URL e identifica como login de suporte.
backOffice(opcional): {
urlParam: "accounts_login_token",
}
*/
export default config;
import { AuthProvider } from '@eduzz/accounts-react-wrapper';
import config from './accounts.config.ts';
ReactDOM.render(
<React.StrictMode>
<AuthProvider config={config}>
<App />
</AuthProvider>
</React.StrictMode>,
document.getElementById('root')
);
import { useAuth } from '@eduzz/accounts-react-wrapper';
type ExapledBearerTokenDecoded = {
name: string;
email: string;
}
function App() {
const { bearerTokenDecoded, loading, bearerToken, logout } = useAuth<ExapledBearerTokenDecoded>();
return (
<div className='App'>
<header className='App-header'>
<div className="App">
<p>user name: {bearerTokenDecoded?.name}</p>
<p>user email: {bearerTokenDecoded?.email}</p>
<p>bearerToken: {bearerToken}</p>
<p>loading: {loading}</p>
<button onClick={logout}>Logout</button>
</div>
</header>
</div>
)
}
import { Apis } from 'web/services/api'
import { useAuth } from '@eduzz/accounts-react-wrapper';
type ExapledBearerTokenDecoded = {
name: string;
email: string;
exp: number;
}
function App() {
const { bearerTokenDecoded, loading, bearerToken, logout, interceptors } = useAuth<ExapledBearerTokenDecoded>();
function tryInitializeInterceptors() {
interceptors?.axios.initialize({
interceptors: Apis.produtoFisicoApi.instance.interceptors,
active: { // não obrigatório, se não passar ativa todos os interceptors.
addBearerOnAllRequests: true, // default
logoutWhenResponseIsUnauthorized: true, // default
refreshWhenBearerTokenIsExpired: true, // default
}
});
}
useEffect(()=>{
tryInitializeInterceptors();
},[bearerToken])
return (
<div className='App'>
<header className='App-header'>
<div className="App">
<p>user name: {bearerTokenDecoded?.name}</p>
<p>user email: {bearerTokenDecoded?.email}</p>
<p>bearerToken: {bearerToken}</p>
<p>loading: {loading}</p>
<button onClick={logout}>Logout</button>
</div>
</header>
</div>
)
}
FAQs
## [Sobre](#sobre)
The npm package @eduzz/accounts-react-wrapper receives a total of 2 weekly downloads. As such, @eduzz/accounts-react-wrapper popularity was classified as not popular.
We found that @eduzz/accounts-react-wrapper demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.