Você pode implementar sua própria solução personalizada, mas isso elimina os benefícios de usar um padrão aberto. Usando um padrão aberto permite duas coisas:
Você pode usar outras bibliotecas de código aberto para implementar seu próprio serviço OAuth em vez de reinventar a roda.
Você não estará forçando outras pessoas a escrever sua própria lógica personalizada para autenticação no seu site. É melhor permitir às pessoas uma interface OAuth conhecida do que forçá-las a conhecer outra nova API.
Em termos leigos, se você estiver expondo uma API, solicitará que o outro site passe o nome de usuário / senha para sua API, para que você verifique essas credenciais e o usuário possa começar a usar o outro site.
No entanto, com o OAuth, o usuário não fornece nome de usuário / senha ou credenciais de login ao outro site, mas diretamente ao seu site.