0.1.36 • Published 3 years ago

onemedics-sdk-user-test v0.1.36

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

Onemedics Library

이 프로젝트는 회원가입/로그인 기능을 간편하게 만들수 있도록 SDK 제공하는데 그 목적이 있습니다.

개발문서는 아래링크 참조

1. 설치

$npm i onemedics-sdk-user[@<version>]

2. 사용예제

기본 UserModule 생성 및 초기 로그인 REST

import * as React from 'react';
import { useRef } from 'react';
import { UserModule, Token } from 'onemedics-sdk-user';

export function App() {
  const userId = useRef<HTMLInputElement | null>(null);
  const password = useRef<HTMLInputElement | null>(null);
  // 유저모듈 초기화
  const userModule = new UserModule({
    uri: 'https://dev.one.net:9000',
    token: 'Basic dGVzdDpwYXNz',
  });

  const onLogin = () => {
    // 아이디 비밀번호로 초기 로그인
    userModule
      .signIn({
        username: userId.current?.value,
        password: password.current?.value,
      })
      .then(({ data }: AxiosResponse<Token>) => {
        /* 토큰정보 저장 프로세스 수행 및 로그인 후 프로세스 수행 */
      });
  };

  return (
    <div className='App'>
      <input type='text' ref={userId} placeholder={'아이디'} />
      <input type='password' ref={password} placeholder={'아이디'} />
      <button onClick={onLogin}>로그인</button>
    </div>
  );
}

export default App;

3. 초기설정

사용자 측에서 import할 UserModule을 생성합니다

- 요청
변수병유형설명
uristring호출할 서버의 uri
tokenstringheader에 전달될 초기 인증 token 값( client_id:client_secret Base64 Basic Auth 토큰값 )
graphqlEndpoint [optional]stringgraphql endpoint( default: '/user/graphql')
restBaseURL [optional]stringREST API base URL( default: 변수 uri 로 초기화됨)
- 예시
//App.tsx
import {UserModule} from 'onemedics-sdk-user';

export const userModule = new UserModule({ clientId: '{clientId}', uri: '{uri}', token: 'Basic {auth token}', });

## 4. API 리스트

- [requestAuthNumber](#request-auth-num)
- [identifyAuthNumber](#identify-auth-num)
- [checkDuplicateId](#check-duplicate-id)
- [getTerms](#get-terms)
- [getTermsByTermsType](#get-terms-by-terms-type)
- [getTermsByClientId](#get-terms-by-client-id)
- [signUp](#sign-up)
- [getToken](#get-token)
- [getMe](#get-me)
- [signIn](#sign-in)
- [refreshToken](#refresh-token)
- [serializeForm](#serialize-form)



#### requestAuthNumber
<a name='request-auth-num'></a>
>[인증공통]인증번호 생성 요청   
##### - 요청
|변수병|유형|설명|
|---|:-----:|---|
|variables.authNumType| `'SIGNUP'`  `'FIND_ID'`  `'FIND_PW'`  `'MODIFY_MYINFO'`  |인증번호 유형|
|variables.phone|`string`|모바일 번호|
##### - 응답
|변수병|유형|설명|
|---|:-----:|---|
|data.createAuthNum.authNumId| `string`  |인증번호 id|
| loading | `boolean` | 응답대기 상태인지 여부 |
| networkStatus | `NetworkStatus` [참고](https://github.com/apollographql/apollo-client/blob/master/src/core/networkStatus.ts#L4) | 네트워크 상태 |
##### - 예제
```typescript jsx
import {userModule} from './App'
import { AuthNumType } from 'onemedics-sdk-user';

     userModule
       .requestAuthNumber({
         variables: {
           authNumType: AuthNumType.Signup,
           phone: '{phone number}',
         },
       })
       .then((result) => {})
       .catch((error) => {
         /*에러처리*/
       });

identifyAuthNumber 구현예정

인증공통인증번호 생성 확인

- 요청
변수병유형설명
- 응답
변수병유형설명
- 예제

checkDuplicateId

회원가입아이디 중복체크 수행

- 요청
변수병유형설명
variables.loginIdstring로그인 아이디
- 응답
변수병유형설명
data.FindByLoginIdboolean인증번호 id
loadingboolean응답대기 상태인지 여부
networkStatusNetworkStatus 참고네트워크 상태
- 예제
import { userModule } from './App';
userModule
  .checkDuplicateId({
    variables: {
      loginId: "{loginId}",
    },
  })
  .then((result) => {
    /*result process*/
  });
#### getTerms
<a name='get-terms'></a>
> [회원가입]약관 가져오기
##### - 요청
|변수병| |유형|설명|
|---|:---:|:---:|---|
| 없음 | | | |
##### - 응답
|변수병| |유형|설명|
|---:|:---|:-----:|---|
|data.terms.|termsId | `number`  | 약관아이디 |
| |clientId | `string`  | client ID |
| |title | `string`  | 약관 제목 |
| |content | `string`  | 약관 내용 |
| |termsType | `number`  | 약관 유형 |
| |isEnabled | `boolean`  | 사용여부 |
| |createdAt | `string`  | 생성일자 |
| |createUserId | `string`  | 생성자 ID |
| |updatedAt | `string`  | 수정일자 |
| |updateUserId | `string`  | 수정자 ID |
| loading | | `boolean` | 응답대기 상태인지 여부 |
| networkStatus | | `NetworkStatus` [참고](https://github.com/apollographql/apollo-client/blob/master/src/core/networkStatus.ts#L4) | 네트워크 상태 |
##### - 예제
```typescript jsx
import { userModule } from './App';

 userModule
       .getTerms()
       .then((result) => {
         /*result process*/
       });

getTermsByTermsType

회원가입특정 약관(termsType) 가져오기

- 요청
변수병유형설명
variablestermsType약관유형 0:이용약관,1:위치기반 서비스,2:개인정보보호방침약관유형
- 응답
변수병유형설명
data.terms.termsIdnumber약관아이디
clientIdstringclient ID
titlestring약관 제목
contentstring약관 내용
termsTypenumber약관 유형
isEnabledboolean사용여부
createdAtstring생성일자
createUserIdstring생성자 ID
updatedAtstring수정일자
updateUserIdstring수정자 ID
loadingboolean응답대기 상태인지 여부
networkStatusNetworkStatus 참고네트워크 상태
- 예제
import { userModule } from './App';
import { TERMS_OF_SERVICE } from 'onemedics-sdk-user';
userModule
  .getTermsBy({
    variables: {
      termsType: TERMS_OF_SERVICE,
    },
  })
  .then((result) => {
    /*result process*/
  });
#### getTermsByClientId
<a name='get-terms-by-client-id'></a>
> [회원가입]해당 클라이언트의 약관 목록 조회(header의 clientId를 참조)
##### - 요청
|변수병| |유형|설명|
|---|:---:|:---:|---|
| 없음 | | | |
##### - 응답
|변수병| |유형|설명|
|---:|:---|:-----:|---|
|data.terms.|termsId | `number`  | 약관아이디 |
| |clientId | `string`  | client ID |
| |title | `string`  | 약관 제목 |
| |content | `string`  | 약관 내용 |
| |termsType | `number`  | 약관 유형 |
| |isEnabled | `boolean`  | 사용여부 |
| |createdAt | `string`  | 생성일자 |
| |createUserId | `string`  | 생성자 ID |
| |updatedAt | `string`  | 수정일자 |
| |updateUserId | `string`  | 수정자 ID |
| loading | | `boolean` | 응답대기 상태인지 여부 |
| networkStatus | | `NetworkStatus` [참고](https://github.com/apollographql/apollo-client/blob/master/src/core/networkStatus.ts#L4) | 네트워크 상태 |
##### - 예제
```typescript jsx
import { userModule } from './App';
import { TERMS_OF_SERVICE } from 'onemedics-sdk-user';

   userModule
     .getTermsBy({
       variables: {
         termsType: TERMS_OF_SERVICE,
       },
     })
     .then((result) => {
       /*result process*/
     });

signUp

회원가입약관 가져오기

- 요청
변수병유형설명
clientIdstring클라이언트 아이디
loginIdstring로그인 아이디
passwordstring비밀번호
usernamestring유저명
phonestring핸드폰번호
marketingAgreementboolean마케팅 수신동의
authNumIdnumber인증번호 ID
authNumstring인증번호

getToken

로그인토큰 가져오기

- 요청
변수병유형설명
usernamestring아이디
passwordstring암호
grant_typeoptionalstring인증유형(default: 'password')

getMe

로그인회원정보 가져오기

- 요청
변수병유형설명
tokenstringaccess_token값

signIn

로그인아이디 패스워드 로그인 가져오기

- 요청
변수병유형설명
usernamestring아이디
passwordstring암호
grant_typeoptionalstring인증유형(default: 'password')

refreshToken

로그인token정보 업데이트 가져오기

- 요청
변수병유형설명
refresh_tokenstringrefresh_token값
grant_type[optional]string인증유형(default: 'refresh_token'

serializeForm

로그인 FormData 생성

- 요청
변수병유형설명
paramsobjectFormData로 생성할 object

4. 버전 관리

CHANGELOG.md 파일 참조 부탁드립니다.

⬆ 위로가기

0.1.30

3 years ago

0.1.31

3 years ago

0.1.32

3 years ago

0.1.33

3 years ago

0.1.34

3 years ago

0.1.35

3 years ago

0.1.36

3 years ago

0.1.27

3 years ago

0.1.28

3 years ago

0.1.29

3 years ago

0.1.25

3 years ago

0.1.26

3 years ago

0.1.21

3 years ago

0.1.22

3 years ago

0.1.23

3 years ago

0.1.24

3 years ago

0.1.20

3 years ago

0.1.16

3 years ago

0.1.17

3 years ago

0.1.18

3 years ago

0.1.19

3 years ago

0.1.15

3 years ago

0.1.14

3 years ago